{"text_format":"dbase-jsonl-2026-09-30","columns":[{"name":"ARTICLE_ID","type":"number","width":11,"decimals":0},{"name":"ARTICLE_TY","type":"character","width":8},{"name":"DIRECTORY","type":"character","width":8},{"name":"TITLE","type":"character","width":64},{"name":"AUTHOR_1","type":"number","width":11,"decimals":0},{"name":"AUTHOR_2","type":"number","width":11,"decimals":0},{"name":"AUTHOR_3","type":"number","width":11,"decimals":0},{"name":"ISSUE__","type":"number","width":11,"decimals":0},{"name":"PAGE_NUMBE","type":"number","width":11,"decimals":0},{"name":"SUMMARY","type":"memo","width":10,"read":false}],"n_rows":1288,"rows_kept":1288,"cut":false,"deleted_skipped":0,"read_ended":"whole","bounds":"16MiB/16384/4096/first_that_fit","version":"dbase_four_memo","encoding_class":"enc_single_byte","reader":"statdb_count/9"}
[1,"Article","CONSTRUC","Under Construction: Build Your Own Components",2,null,null,1,13,null]
[2,"Article",null,"Moving Up: Borland Pascal",4,null,null,1,20,null]
[3,"Article","SYSTEM","Beating the System: The Private life of a Winhelp File (Part 1)",4,null,null,12,53,null]
[4,"Article",null,"The Delphi Idiom",10,null,null,1,8,null]
[5,"Article","FASTDRAW","Optimising Display Updating",11,null,null,1,10,null]
[6,"Article",null,"Inroducing Client/Server",12,null,null,1,26,null]
[7,"Article",null,"Delphi Internals: Using and Writing DLLs",4,null,null,1,27,null]
[8,"Review",null,"Book Review: \"Inside Windows 95\" by Adrian King",2,null,null,1,29,null]
[9,"Review","RTFEDIT","Using the Borland Visual Solutions Pack",13,null,null,1,30,null]
[10,"Article","ANIMATE","Animation Made Easy",14,null,null,1,33,null]
[11,"Review",null,"Review: The Chief's Installer Pro",2,null,null,1,40,null]
[12,"Article",null,"Building Quality Help Systems",15,null,null,2,24,null]
[13,"Review",null,"Book Review: Delphi Programming For Dummies by Neil Rubenking",2,null,null,2,8,null]
[14,"Article","SUBCLASS","Subclassing Windows",3,null,null,2,10,null]
[15,"Article","CONSTRUC","Under Construction:Tic-Tac-Toe",2,null,null,2,15,null]
[16,"Article",null,"Moving Up: Visual Basic",4,null,null,2,21,null]
[17,"Article","DRAGDROP","Drag & Drop is Easy...",16,null,null,2,27,null]
[18,"Article",null,"Delphi Internals: Undocumented Secrets, Part 1",4,null,null,2,30,null]
[19,"Review",null,"Book Reviews",2,5,null,3,8,null]
[20,"Article",null,"Preview: 32-Bit Delphi",1,null,null,3,10,null]
[21,"Article",null,"Surviving Client/Server: Getting Started  With SQL, Part 1",5,null,null,3,12,null]
[22,"Article","CLIPBRD","Custom Clipboard Formats",14,null,null,3,18,null]
[23,"Article","CONSTRUC","Under Construcion: Customising Controls",2,null,null,3,21,null]
[24,"Article",null,"Moving Up: C and C++",4,null,null,3,27,null]
[25,"Article","TYPECAST","Typecasting Explained: Part 1",3,null,null,3,30,null]
[26,"Article","EXPERTS","Writing Your Own Experts",2,null,null,3,35,null]
[27,"Article","INTERNAL","Delphi Internals:  Through The Language Barrier",4,null,null,3,39,null]
[28,"Review",null,"Book Review: Delphi Unleashed",13,null,null,4,6,null]
[29,"Article","TAPPLIC","Inside TApplication",17,18,null,4,8,null]
[30,"Article",null,"Surviving Client/Server: Getting Started With SQL, Part 2",5,null,null,4,14,null]
[31,"Article","CONSTRUC","Under Construction: Component Help",2,null,null,4,20,null]
[32,"Article","TYPECAST","Typecasting Explained: Part 2",3,null,null,4,24,null]
[33,"Article","LOGIN","Customised Logins",14,null,null,4,28,null]
[34,"Article","INTERNAL","Delphi Internals: Moving Up to 32-Bits",4,null,null,4,32,null]
[35,"Article","CALLBACK","Please Call Later...",3,null,null,4,35,null]
[36,"Article","PERFORM","Performance Optimisation",2,null,null,4,39,null]
[37,"Article",null,"Delphi 2.0: 32-Bit BDE Overview",1,null,null,5,10,null]
[38,"Article","RESOURCE","Using Resource Files In Delphi",19,20,3,5,13,null]
[39,"Article","CAPTURE","A Screen Capture Utility",16,null,null,5,19,null]
[40,"Article","TYPECAST","Typecasting Explained: Part 3",3,null,null,5,24,null]
[41,"Article","SERVER","Surviving Client/Server: TTable vs TQuery",5,null,null,5,27,null]
[42,"Article","CONSTRUC","Under Construction: Custom Events",2,null,null,5,32,null]
[43,"Article","CALLBAX","Please Call Later...",3,null,null,5,36,null]
[44,"Article","INTERNAL","Delphi Internals: CPU Type",4,null,null,5,41,null]
[45,"Review",null,"Review: Eschalon Power Controls",4,null,null,5,44,null]
[46,"Review",null,"Book Review: Delphi How-To",5,null,null,5,46,null]
[47,"Article","PERFORM","Performance Optimisation",2,null,null,5,47,null]
[48,"Review",null,"Review: Orpheus",4,null,null,5,52,null]
[49,"Article","FILES","File Handling",3,null,null,6,11,null]
[50,"Article","CONSTRUC","Under Construction: Property Editors",2,null,null,6,17,null]
[51,"Article","VBX","Enhanced VBX  Support",21,null,null,6,24,null]
[52,"Article","SERVER","Surviving Client/Server: Stored Procedures Part 1",5,null,null,6,28,null]
[53,"Article","CALLBAX","Please Call Later...",3,null,null,6,32,null]
[54,"Article","PRIVATE","Private Investigations",2,0,0,6,38,null]
[55,"Article","INTERNAL","Delphi Internals: How Not  To Write An Operating System",4,null,null,6,42,null]
[56,"Article","SMILEY","Building TSmiley",17,null,null,6,47,null]
[57,"Review","DELBOOKS","Delphi Books: A Comparative Overview",2,5,null,6,52,null]
[58,"Review",null,"Review: LightLib Images",1,null,null,6,54,null]
[59,"Article","DBEXPERT","Building A Database Expert",9,2,null,7,10,null]
[60,"Article","FILES","File Handling: Part 2",3,null,null,7,20,null]
[61,"Article","SERVER","Surviving Client/Server: Stored Procedures Part 2",5,null,null,7,24,null]
[62,"Article","CONSTRUC","Under Construction: Data-Aware Components",2,null,null,7,29,null]
[63,"Review",null,"Review: TOLEAutomationClient",7,null,null,7,33,null]
[64,"Article","INTERNAL","Delphi Intenals: Disk Serial Numbers & CD-ROMs",4,null,null,7,36,null]
[65,"Article","JOYSTICK","Building A Joystick Component",20,null,null,7,40,null]
[66,"Review",null,"Review: Delphi RAD Pack",2,null,null,7,44,null]
[67,"Article","YAST","YAST: Yet Another Stack Tracer!",18,null,null,7,46,null]
[68,"Review",null,"Review: Graphics Server  And Light Lib Business",1,null,null,7,50,null]
[69,"Article","SERVER","Surviving Client/Server: All  About Aliases",5,null,null,8,12,null]
[70,"Article","EXCEPT","Structured Exception Handling",2,null,null,8,18,null]
[71,"Article","FILES","File Handling 3: File Handles",3,null,null,8,23,null]
[72,"Article","CONSTRUC","Under Construction: Component Editors",2,null,null,8,30,null]
[73,"Article","MODEL","Modelling Systems With Components",22,null,null,8,36,null]
[74,"Article","INTERNAL","Delphi Internals: Disk Formatting Basics",4,null,null,8,40,null]
[75,"Article","DATADICT","Inside The BDE: Building A Data Dictionary",23,null,null,8,44,null]
[76,"Article","BOOTSTRP","A Delphi Bootstrap",24,null,null,8,49,null]
[77,"Review",null,"Review: Image Lib 1.3",1,null,null,8,52,null]
[78,"Article","FILES","File Handling 4: Streaming Objects",3,null,null,9,10,null]
[79,"Article","PERFORM","Performance Optimisation Part 3: 32 bits",2,null,null,9,17,null]
[80,"Article","CODERS","Custom Coder Utilities",21,null,null,9,22,null]
[81,"Article","INTERNAL","Delphi Internals: Disk Formatting Continued...",4,null,null,9,24,null]
[82,"Article","CONSTRUC","Under Construction: Components For Workgroups 1",2,null,null,9,30,null]
[83,"Article","SAFELIST","Type-Safe Lists",25,null,null,9,36,null]
[84,"Article","TWAVE","Audio-Enabled Components",22,null,null,9,41,null]
[85,"Review",null,"Components Made Easier?",8,null,null,9,45,null]
[86,"Review",null,"Review:HyperTerp",4,null,null,9,50,null]
[87,"Review",null,"Book Review: The  Revolutionary Guide to Delphi 2",1,null,null,9,51,null]
[88,"Article",null,"Charts From Tables",26,null,null,9,52,null]
[89,"Article","CONSTRUC","Under Construction: Version Control Systems",2,null,null,10,10,null]
[90,"Article","PRINTING","Printing In Delphi: Introducing TPrinter",14,null,null,10,18,null]
[91,"Clinic",null,"Failure to initialise IDAPI error",2,null,null,1,35,null]
[92,"Article",null,"Surviving Client/Server: SQL Performance Tuning",5,null,null,10,23,null]
[93,"Review",null,"Book Review: Borland's Official No-Nonsense Guide To Delphi 2",2,null,null,10,27,null]
[94,"Article","FILES","File Handling 5: Streaming Components",3,null,null,10,28,null]
[95,"Article","INTERNAL","Delphi Internals: Disk Formatting Completed",4,null,null,10,36,null]
[96,"Article","COLLECTS","Component Lists: TCollection And TCollectionItem",14,null,null,10,40,null]
[97,"Article","SNGLINST","Implementation Of A Single Instance Class",27,null,null,10,46,null]
[98,"Review",null,"Review: EMS Shareware Delphi Library on CD",2,null,null,10,49,null]
[99,"Article","KDBNAV","Chasing Objectivity  With TDBNavigator",15,null,null,10,50,null]
[100,"Clinic",null,"Component in Design or Runtime mode?",2,null,null,1,35,null]
[101,"Clinic",null,"TEXT file type",2,null,null,1,35,null]
[102,"Clinic",null,"Private, Public, Published identifiers",2,null,null,1,35,null]
[103,"Clinic",null,"Working with MS Access files in Delphi 1",1,28,null,1,35,null]
[104,"Tip",null,"Assigning initial property values",2,null,null,1,38,null]
[105,"Tip",null,"Auto-deleting event handler code",2,null,null,1,38,null]
[106,"Tip",null,"ExitWindows",2,null,null,1,38,null]
[107,"Clinic",null,"Trim String functions",2,null,null,2,34,null]
[108,"Clinic",null,"Calling secondary forms",2,null,null,2,34,null]
[109,"Clinic",null,"Menu item separators",6,null,null,2,34,null]
[110,"Clinic",null,"Resizing columns of a TStringGrid",2,null,null,2,34,null]
[111,"Clinic",null,"Closing a form on starting an application",2,null,null,2,34,null]
[112,"Clinic",null,"Removing scroll bars from TDBGrid",3,null,null,2,35,null]
[113,"Clinic",null,"Shelling out to another application",2,null,null,2,36,null]
[114,"Tip",null,"Editor Shortcuts",3,null,null,2,37,null]
[115,"Tip",null,"Customising the toolbar",17,null,null,2,37,null]
[116,"Tip",null,"Smaller executable files",17,null,null,2,37,null]
[117,"Tip",null,"File utility routines",17,null,null,2,37,null]
[118,"Tip",null,"Passing variable numbers of parameters",18,null,null,2,37,null]
[119,"Tip",null,"Exporting classes from DLLs",18,null,null,2,38,null]
[120,"Tip",null,"WinCRT must appear last in the USES statement",18,null,null,2,40,null]
[121,"Tip",null,"TDBGrid bug: FixedColor is ignored",18,null,null,2,40,null]
[122,"Tip",null,"A Windows Desktop Canvas and Non-Client area Canvas",30,null,null,2,41,null]
[123,"Tip",null,"Using RES bitmaps",30,null,null,2,41,null]
[124,"Tip",null,"Smart IDE",30,null,null,2,43,null]
[125,"Tip",null,"Clipboard Object",30,null,null,2,43,null]
[126,"Clinic",null,"Painting to a device context",31,null,null,3,43,null]
[127,"Clinic",null,"Menu shortcuts",32,null,null,3,43,null]
[128,"Clinic",null,"Navigating through forms",17,null,null,3,43,null]
[129,"Clinic",null,"Uses clause in  a DLL source file",2,null,null,3,43,null]
[130,"Clinic",null,"Turbo Debugger incorrect linker version",2,null,null,3,44,null]
[131,"Clinic",null,"How to make a window stay on top",2,null,null,3,44,null]
[132,"Clinic",null,"Manipulating pixels in bitmaps",3,null,null,3,44,null]
[133,"Tip",null,"Popup menus",3,null,null,3,47,null]
[134,"Tip",null,"Form designer: shortcut keys",35,null,null,3,48,null]
[135,"Tip",null,"More editor shortcut keys",6,null,null,3,48,null]
[136,"Tip",null,"Replacing if..then..else",3,null,null,3,51,null]
[137,"Tip",null,"Are we in range?",3,null,null,3,51,null]
[138,"Clinic",null,"Left padded strings",2,null,null,4,43,null]
[139,"Clinic",null,"Error 200: published not allowed in this class",2,null,null,4,43,null]
[140,"Clinic",null,"Exception handling",17,null,null,4,43,null]
[141,"Clinic",null,"Removing pages from the component palette",8,null,null,4,43,null]
[142,"Clinic",null,"Initialization section for unit startup code",2,null,null,4,44,null]
[143,"Clinic",null,"Changing Cursors",2,null,null,4,44,null]
[144,"Clinic",null,"Accelerator keys",2,null,null,4,44,null]
[145,"Clinic",null,"Extracting icons from programs and DLLS",17,null,null,4,44,null]
[146,"Clinic",null,"Re-reading directory using FileListBox",2,null,null,4,44,null]
[147,"Clinic",null,"Using RC files",2,null,null,4,44,null]
[148,"Clinic",null,"Placing objects into a StringGrid",2,null,null,4,44,null]
[149,"Clinic",null,"Calculating difference between 2 dates",2,null,null,4,44,null]
[150,"Tip",null,"Windows Resource Li mits",34,null,null,4,48,null]
[151,"Tip",null,"Arrays over 64Kb in Delphi 1",3,null,null,4,48,null]
[152,"Tip",null,"Hiding the Titlebar",29,null,null,4,51,null]
[153,"Tip",null,"Creating Paradox auto-increment fields",36,null,null,4,51,null]
[154,"Article","CLIPFIX","Update: Custom Clipboard Formats",14,18,null,4,51,null]
[155,"Clinic",null,"Radio group focus",3,null,null,5,54,null]
[156,"Clinic",null,"Drag and drop onto DBGRid cells",3,null,null,5,54,null]
[157,"Clinic",null,"256 colour images",3,null,null,5,54,null]
[158,"Clinic",null,"Implementing generic Cliboard support",3,null,null,5,57,null]
[159,"Tip",null,"Control arrays",37,null,null,5,58,null]
[160,"Tip",null,"256 colour bitmaps",3,null,null,5,58,null]
[161,"Tip",null,"Extending TMenu so it can add menu items automatically",38,null,null,5,59,null]
[162,"Tip",null,"Processing multiple selections in a listbox",39,null,null,5,60,null]
[163,"Tip",null,"Reading database records fast",18,null,null,5,60,null]
[164,"Tip",null,"Correct handling of WM_EndSession",18,null,null,5,62,null]
[165,"Tip",null,"Simpler PChars",3,null,null,5,63,null]
[166,"Clinic",null,"DDE Server application and service names",3,null,null,6,56,null]
[167,"Clinic",null,"TDBLookUpCombo.OnClick event",3,null,null,6,56,null]
[168,"Clinic",null,"Microsoft products and floating point",3,null,null,6,56,null]
[169,"Clinic",null,"Calling a C DLL",3,null,null,6,58,null]
[170,"Clinic",null,"Setting properties en masse",3,34,null,6,58,null]
[171,"Clinic",null,"Tracing SQL statements",3,40,null,6,58,null]
[172,"Clinic",null,"Error reading symbol file message",3,null,null,6,59,null]
[173,"Clinic",null,"Easter eggs, credit boxes...",3,null,null,6,59,null]
[174,"Tip",null,"Enumerated and Set types",38,null,null,6,60,null]
[175,"Tip",null,"Using PChar types in components",38,null,null,6,60,null]
[176,"Tip",null,"Object oriented table",38,null,null,6,61,null]
[177,"Tip",null,"Debugging TListbox and TComboBox lists",23,null,null,6,61,null]
[178,"Tip",null,"Customising forms using CreateParams",3,41,null,6,62,null]
[179,"Tip",null,"TNotebook Page Backgrounds",42,null,null,6,62,null]
[180,"Tip",null,"Removing unnecessary code",30,null,null,6,62,null]
[181,"Clinic",null,"Changing default size of windows in Delphi IDE",3,null,null,7,55,null]
[182,"Clinic",null,"TDBLookupList and TDBLookupCombo",3,null,null,7,55,null]
[183,"Clinic",null,"$C compiler directive to set segment attributes",3,null,null,7,55,null]
[184,"Clinic",null,"Creating TField field objects programmatically",3,null,null,7,55,null]
[185,"Clinic",null,"Raising a number to a power",3,null,null,7,57,null]
[186,"Clinic",null,"Windows file access denied error dialog",3,null,null,7,58,null]
[187,"Clinic",null,"Toggling shift key states",3,null,null,7,58,null]
[188,"Tip",null,"TLabel Enabled property",18,null,null,7,60,null]
[189,"Tip",null,"Event chains in Delphi",30,null,null,7,60,null]
[190,"Clinic",null,"What tasks are running?",3,null,null,8,56,null]
[191,"Clinic",null,"Intercepting keystrokes",3,null,null,8,56,null]
[192,"Clinic",null,"Opening and closing maximised MDI children",3,null,null,8,56,null]
[193,"Clinic",null,"Converting times to floats",3,null,null,8,57,null]
[194,"Clinic",null,"Bitmaps for brushes",3,null,null,8,58,null]
[195,"Clinic",null,"Examining the type and value of array elements",3,null,null,8,58,null]
[196,"Clinic",null,"Table locks",3,null,null,8,59,null]
[197,"Clinic",null,"Form name property",3,null,null,8,59,null]
[198,"Tip",null,"Lost pointers when an application GPFs",45,null,null,8,60,null]
[199,"Tip",null,"I/O Error handling update",3,null,null,8,60,null]
[200,"Tip",null,"Hints for modeless forms in DLLS",2,null,null,8,60,null]
[201,"Tip",null,"Is Delphi Running?",2,null,null,8,60,null]
[202,"Tip",null,"A Delphi scratchpad",38,null,null,8,61,null]
[203,"Tip",null,"TDirectoryOutline bug",43,null,null,8,62,null]
[204,"Tip",null,"Indexing TParam objects ina TQuery.Params property",44,null,null,8,62,null]
[205,"Clinic",null,"Multimedia API: sndPlaySound",3,null,null,9,56,null]
[206,"Clinic",null,"Ensuring a DOS application has terminated",3,null,null,9,56,null]
[207,"Clinic",null,"OnExit and the lost Caret (text cursor)",3,null,null,9,56,null]
[208,"Clinic",null,"Error-Free Custom open file dialogs",3,null,null,9,58,null]
[209,"Clinic",null,"Multiple help files",3,null,null,9,59,null]
[210,"Clinic",null,"Oracle SQL*NET 2 and SQL Links",40,3,null,9,59,null]
[211,"Clinic",null,"Delphi 2 applications won't minimise correctly",3,34,null,9,59,null]
[212,"Clinic",null,"Synchronised Listboxes",3,null,null,9,59,null]
[213,"Tip",null,"Using strings as Case selectors",21,null,null,9,62,null]
[214,"Tip",null,"Changing printer parameters",46,null,null,9,62,null]
[215,"Tip",null,"Moving components to Delphi 2",22,null,null,9,63,null]
[216,"Tip",null,"Packing Paradox tables",8,null,null,9,63,null]
[217,"Tip",null,"Replacing controls",8,null,null,9,63,null]
[218,"Tip",null,"MaxLength of DBEdit doesn't work",8,null,null,9,63,null]
[219,"Tip",null,"Lost cursor after displaying dialogs",8,null,null,9,63,null]
[220,"Clinic",null,"TOutline bug",3,null,null,10,55,null]
[221,"Clinic",null,"MinValue and MaxValue Bugs in MATH unit",3,null,null,10,55,null]
[222,"Clinic",null,"Autosizing TDBGrid",3,null,null,10,55,null]
[223,"Clinic",null,"Prevent user adding new record in TDBGrid",3,null,null,10,55,null]
[224,"Clinic",null,"Reading a form's properties",3,null,null,10,55,null]
[225,"Clinic",null,"Optimising TPaintBox painting",3,null,null,10,56,null]
[226,"Clinic",null,"Restricting access to properties",3,null,null,10,57,null]
[227,"Clinic",null,"General help page",3,null,null,10,57,null]
[228,"Clinic",null,"Hiding TTabbedNotebook pages",3,34,null,10,58,null]
[229,"Tip",null,"Packing dBase tables",47,null,null,10,61,null]
[230,"Tip",null,"Changing TEdit text in the OnChange event handler",48,null,null,10,61,null]
[231,"Tip",null,"Reading text files as binary",49,null,null,10,61,null]
[232,"Tip",null,"Naming forms and units to prevent name clashes",50,null,null,10,61,null]
[233,"Tip",null,"Unique values only in TDBLookUpCombo",8,null,null,10,62,null]
[234,"Tip",null,"Calling forms using a string variable whose value is form type",8,null,null,10,62,null]
[235,"Tip",null,"Changing a form's mode",8,null,null,10,62,null]
[236,"Tip",null,"Does a record have any empty fields?",8,null,null,10,62,null]
[237,"Tip",null,"Duplicating data from previous record",8,null,null,10,62,null]
[238,"Article","SYSTEM","Beating The System: Thunking For Profit And Pleasure",4,null,null,11,10,null]
[239,"Article","FILES","File Handling 6: Text File Device Drivers",3,null,null,11,17,null]
[240,"Article",null,"Surviving Client/Server: InterBase or SQL Server?",5,null,null,11,22,null]
[241,"Article","TDMAID","Designing An Article Index Database System",2,null,null,11,30,null]
[242,"Review",null,"Review: BoundsChecker 4.0",4,null,null,11,37,null]
[243,"Article","CONSTRUC","Under Construction: What's New?",2,null,null,11,41,null]
[244,"Review",null,"Review: CADET",8,null,null,11,44,null]
[245,"Article","PRINTING","Printing In Delphi: Printing To Scale",14,null,null,11,47,null]
[246,"Article",null,"Book Review: Delphi Programming  Problem Solver",2,null,null,11,55,null]
[247,"Article","HEAPCHCK","Hooking Heapcheck",18,null,null,11,51,null]
[248,"Clinic",null,"Paradox tables on a CD",3,34,null,11,56,null]
[249,"Clinic",null,"Multi Record Objects: Using TDBCtrlGrid",3,null,null,11,56,null]
[250,"Clinic",null,"Copying Tables",3,null,null,11,57,null]
[251,"Clinic",null,"Why is Delphi 2 so slow?",31,3,null,11,57,null]
[252,"Tip",null,"DataList utility",51,null,null,11,61,null]
[253,"Tip",null,"Determine if WAV audio is supported on a system",22,null,null,11,61,null]
[254,"Tip",null,"Project history list",52,null,null,11,61,null]
[255,"Tip",null,"Auto-increment off track",8,null,null,11,61,null]
[256,"Tip",null,"Setting the cursor",53,null,null,11,61,null]
[257,"Tip",null,"TDBGrid cell display",8,null,null,11,62,null]
[258,"Tip",null,"Adding indexes",8,null,null,11,62,null]
[259,"Tip",null,"Using masks with TDBEdit",8,null,null,11,62,null]
[260,"Tip",null,"Ensuring no duplicates appear in a combobox",8,null,null,11,62,null]
[261,"Tip",null,"Getting Form Coordinates",8,null,null,11,62,null]
[262,"Tip",null,"Delphi 2 DeleteFile type mismatch error?",8,null,null,11,62,null]
[263,"Article","TRAYICON","Windows 95 Tray Icons",9,null,null,12,10,null]
[264,"Article","SESSION","The Late Session",54,null,null,12,21,null]
[265,"Review",null,"Book Review: Database Developer's Guide with Delphi 2",2,null,null,12,14,null]
[266,"Article","PRINTING","Printing in Delphi: Printing an Invoice Report",14,null,null,12,15,null]
[267,"Article","CONSTRUC","Under Construction: A Hex Viewer and Editor",2,null,null,12,26,null]
[268,"Article","QTTHUNK","Calling 16-Bit Code from 32-bit in Windows 95",3,null,null,12,33,null]
[269,"Article","PARSER","Using a text file device driver as a string parser",55,null,null,12,43,null]
[270,"Article","SURVIVE","Surviving Client/Server: Cached Updates",5,null,null,12,48,null]
[271,"Clinic",null,"What is the image base option?",3,null,null,12,58,null]
[272,"Clinic",null,"Floating Point Inaccuracy",3,null,null,12,58,null]
[273,"Clinic",null,"InterBase BLOb SubTypes and segments",3,null,null,12,58,null]
[274,"Clinic",null,"Raw Printer Access",3,null,null,12,58,null]
[275,"Clinic",null,"Virtual and Override Clarification",3,58,31,12,59,null]
[276,"Tip",null,"Identifying 32-bit Windows Platforms",3,null,null,12,62,null]
[277,"Tip",null,"ShowModal",47,null,null,12,62,null]
[278,"Tip",null,"Network Directory Exists",59,null,null,12,62,null]
[279,"Tip",null,"Execute and Wait",59,null,null,12,62,null]
[280,"Tip",null,"Database Flushing",61,null,null,12,63,null]
[281,"Tip",null,"Default Draw Data Cell",61,null,null,12,63,null]
[282,"Article","IDAPI","Digging into IDAPI Part 1",54,null,null,13,10,null]
[283,"Article","EXCEPTS","Cascading Exceptions",62,null,null,13,19,null]
[284,"Article","SURVIVE","Surviving Client Server: Delphi 2.0 Potpourri",5,null,null,13,23,null]
[285,"Article","VALIDAT","Data Validation Levels",2,null,null,13,29,null]
[286,"Article","EXPERT","An \"Expert\" Expert",22,null,null,13,37,null]
[287,"Article","SYSTEM","Beating the System: The Private Life of A WinHelp File (Part 2)",4,null,null,13,40,null]
[288,"Article","CONSTRUC","Under Construction: Delphi 2.0 AddIn Experts",2,null,null,13,44,null]
[289,"Review",null,"Review: Infopower 2.0",8,null,null,13,51,null]
[290,"Review",null,"Book Review: Rapid Development by Steve McConnell",63,null,null,13,54,null]
[291,"Clinic",null,"File Handle Leak",3,null,null,13,56,null]
[292,"Clinic",null,"Validation en Masse",3,null,null,13,56,null]
[293,"Clinic",null,"Enum As String",3,null,null,13,56,null]
[294,"Clinic",null,"CPU Level Debugging",3,null,null,13,58,null]
[295,"Clinic",null,"Stop Splashing About",3,null,null,13,58,null]
[296,"Clinic",null,"Form-Wide OnMouseMove",3,null,null,13,58,null]
[297,"Article","SUBCLASS","Subclassing Windows from EXE files in 16-bit appliccations",27,null,null,15,8,null]
[298,"Clinic",null,"Default OLE Automation Property",3,null,null,13,60,null]
[299,"Tip",null,"Thunk Update",3,null,null,13,61,null]
[300,"Tip",null,"Automatic Initialisation And Finalisation",25,null,null,13,62,null]
[301,"Tip",null,"Easy Word Wrapping",25,null,null,13,62,null]
[302,"Article",null,"Surviving Client/Server: Data Processing With Subqueries",5,null,null,14,10,null]
[303,"Article","DRAWGRID","Customising TDrawGrid For Text Grids",64,null,null,14,16,null]
[304,"Article","FORMCOMP","Using Form Components With Delphi 1",52,null,null,14,20,null]
[305,"Article","IDAPI","Digging into IDAPI part 2",54,null,null,14,24,null]
[306,"Article","TREE","File Search and Delete Tree",66,null,null,14,32,null]
[307,"Article",null,"Under Construction: Testing And Debugging",2,null,null,14,34,null]
[308,"Article","PRINTING","Printing in Delphi: Getting Printer Information",14,null,null,14,39,null]
[309,"Article","SYSTEM","Beating the System: The Private Life Of a WinHelp File (Part 3)",4,null,null,14,44,null]
[310,"Article","TLIST","Turbocharging Database Applications with TLists",67,null,null,14,47,null]
[311,"Review",null,"SysTools",2,null,null,14,50,null]
[312,"Clinic",null,"And Do Dilly Dally On The Way",3,null,null,14,54,null]
[313,"Clinic",null,"Changing Locations",3,null,null,14,54,null]
[314,"Clinic",null,"Tacky Termination",3,null,null,14,54,null]
[315,"Clinic",null,"Changing the Default Exception Handler",3,null,null,14,54,null]
[316,"Clinic",null,"Can't Re-Complie The VCL",3,null,null,14,55,null]
[317,"Clinic",null,"OLE Method Lost",3,null,null,14,56,null]
[318,"Tip",null,"Showing Modal Forms",3,null,null,14,58,null]
[319,"Tip",null,"TDBNavigator Button Click",68,null,null,14,58,null]
[320,"Tip",null,"Laptop Battery Status",61,null,null,14,58,null]
[321,"Tip",null,"TStringList Versus TStringCollection",18,null,null,14,58,null]
[322,"Tip",null,"Pointer Notation",18,null,null,14,59,null]
[323,"Tip",null,"Delphi 2 Optimisation",18,null,null,14,60,null]
[324,"Tip",null,"Your Delphi 2 Executables are 500kb larger than you think!",18,null,null,14,60,null]
[325,"Tip",null,"Are you there?",69,null,null,14,62,null]
[326,"Tip",null,"TPageControl Accelerators",70,null,null,14,62,null]
[327,"Article",null,"One Last Compile...",null,null,null,13,54,null]
[328,"Article",null,"One Last Compile...",null,null,null,14,22,null]
[329,"Article","VARIANTS","Language Extensions: Variants",14,null,null,13,31,null]
[330,"Review",null,"Book review: Building Internet Applications With Delphi 2",2,null,null,13,36,null]
[331,"Clinic",null,"Inheritance update",3,null,null,13,60,null]
[332,"Article","IDAPI","Digging Into IDAPI",54,null,null,15,15,null]
[333,"Article","CONSTRUC","Under Construction: Delphi 2 and CGI",2,null,null,15,25,null]
[334,"Article","CPPCLASS","Integrating C++ classes into Delphi applications",56,null,null,15,32,null]
[335,"Review",null,"Book Review: Delphi Database Development",63,null,null,15,37,null]
[336,"Article",null,"Surviving Client/Server: More data processing with SQL",5,null,null,15,38,null]
[337,"Article","SYSTEM","Beating the System: Getting things into context",4,null,null,15,44,null]
[338,"Review",null,"Review: MK Query Builder",57,null,null,15,49,null]
[339,"Review",null,"Memory Sleuth",2,null,null,15,52,null]
[340,"Clinic",null,"TDBGrid scrollbar odd behaviour",3,null,null,15,54,null]
[341,"Clinic",null,"Paradox picture validation",3,null,null,15,54,null]
[342,"Clinic",null,"Moving the mouse",3,null,null,15,54,null]
[343,"Clinic",null,"Dropping the combobox",3,null,null,15,54,null]
[344,"Clinic",null,"DBGrid row height",3,null,null,15,54,null]
[345,"Clinic",null,"Generic field access",3,null,null,15,55,null]
[346,"Clinic",null,"Paradox passwords",3,null,null,15,55,null]
[347,"Clinic",null,"Form creation",3,null,null,15,56,null]
[348,"Clinic",null,"Network user name",3,null,null,15,56,null]
[349,"Clinic",null,"Changing boolean display",3,null,null,15,56,null]
[350,"Tip",null,"TLists revisited",60,null,null,15,58,null]
[351,"Tip",null,"Showing modal forms",51,null,null,15,58,null]
[352,"Tip",null,"Rich text on the clipboard",30,null,null,15,58,null]
[353,"Tip",null,"Which event?",64,null,null,15,60,null]
[354,"Tip",null,"Text file device drivers in 32-bit land",55,null,null,15,60,null]
[355,"Article","CGI","Developing Dynamic Web Pages",5,null,null,16,8,null]
[356,"Article","RTTI","Introducing Delphi RTTI",9,null,null,16,17,null]
[357,"Article","SCRNSAV","Simple Screen Savers",22,null,null,16,26,null]
[358,"Article","SURVIVE","Surviving Client/Server: Managing User Logins, Part 1",5,null,null,16,32,null]
[359,"Article","CONSTRUC","Under Construction: Knowledge Based Solutions",2,null,null,16,39,null]
[360,"Article",null,"Beating The System: Code Generation and Optimisation",4,null,null,16,44,null]
[361,"Article","HINTS","Hints With Attitude",3,null,null,16,47,null]
[362,"Review",null,"Book Review: Delphi 2 Developers Guide",63,null,null,16,49,null]
[363,"Article",null,"One Last Compile...",null,null,null,16,50,null]
[364,"Clinic",null,"FileMode Failure",3,null,null,16,51,null]
[365,"Clinic",null,"System Modal Forms",3,null,null,16,51,null]
[366,"Clinic",null,"System Error Message",3,null,null,16,51,null]
[367,"Clinic",null,"Waiting for Termination",3,null,null,16,52,null]
[368,"Clinic",null,"Single instance only",3,null,null,16,54,null]
[369,"Clinic",null,"Thunking update",3,null,null,16,54,null]
[370,"Tip",null,"Memory mapped files",30,null,null,16,57,null]
[371,"Tip",null,"Smart drag and drop",30,null,null,16,58,null]
[372,"Tip",null,"Listbox keyboard miscellanea",3,null,null,16,60,null]
[373,"Tip",null,"Creating a WAV file",17,null,null,16,60,null]
[374,"Article","THREADS","Multi-Threaded Database Access With Delphi 2.0",71,null,null,17,8,null]
[375,"Article",null,"One Last Compile...",null,null,null,17,16,null]
[376,"Article",null,"One Last Compile",null,null,null,15,14,null]
[377,"Article","CGI","Developing Dynamic Web Pages: Part 2",5,null,null,17,18,null]
[378,"Review",null,"Book Review: Secrets of Delphi 2 by Ray Lischner",4,null,null,17,21,null]
[379,"Article","CONSTRUC","Under Construction: TRuleBase Component",2,null,null,17,22,null]
[380,"Article",null,"Beating The System: Code Generation Part 2",4,null,null,17,32,null]
[381,"Article","SHARING","Sharing Data With The Win32 API",27,null,null,17,36,null]
[382,"Article","SURVIVE","Surviving Client/Server: Managing User Logins, Part 2",5,null,null,17,47,null]
[383,"Clinic",null,"Paradox table corruption",3,null,null,17,52,null]
[384,"Clinic",null,"Debugging DLLs",3,null,null,17,54,null]
[385,"Clinic",null,"Annoying Workgroup Menu",3,null,null,17,55,null]
[386,"Clinic",null,"Making A Unique Key Value",3,null,null,17,56,null]
[387,"Clinic",null,"The Millenium Bug",3,null,null,17,56,null]
[388,"Tip",null,"Bit Manipulation",65,null,null,17,58,null]
[389,"Tip",null,"Version information",72,null,null,17,60,null]
[390,"Tip",null,"3D Window Borders",4,null,null,17,60,null]
[391,"Tip",null,"Searching all drives for a file",73,null,null,17,62,null]
[392,"Article","CONSTRUC","Under Construction: Talking DDE To PragMan",2,null,null,18,8,null]
[393,"Article","FONTS","Dynamic Loading And Unloading Of Fonts",42,null,null,18,19,null]
[394,"Article","SYSTEM","Beating The System: Coolbars - the route to ultra-cool apps",4,null,null,18,22,null]
[395,"Article","MESSBOX","A Truly Usable Message Box",74,null,null,18,28,null]
[396,"Review",null,"Book Review: Delphi Client/Server Developer's Guide",5,null,null,18,34,null]
[397,"Article","SURVIVE","Surviving Client/Server: Managing User Logins Part 3",5,null,null,18,35,null]
[398,"Article","MEMORY","Managing Your Memory",66,null,null,18,39,null]
[399,"Article",null,"One Last Compile...",null,null,null,18,41,null]
[400,"Article","MAKEMETH","Generic MakeMethodInstance For 16/32 Bit Applications",27,null,null,18,424,null]
[401,"Clinic",null,"Explorer-Like DBGrid",3,null,null,18,47,null]
[402,"Clinic",null,"Clearing contents of a TIMage",3,null,null,18,47,null]
[403,"Clinic",null,"Storing bitmap image in form file",3,null,null,18,47,null]
[404,"Clinic",null,"Edit mask hang bug",3,null,null,18,48,null]
[405,"Clinic",null,"Using Object Browser",3,null,null,18,50,null]
[406,"Clinic",null,"Implementing a splitter",3,null,null,18,50,null]
[407,"Clinic",null,"Stay on top watch window",3,null,null,18,50,null]
[408,"Clinic",null,"Unique key values (update from Issue 17)",3,null,null,18,52,null]
[409,"Clinic",null,"Single instance only (update from Issue 16)",3,null,null,18,52,null]
[410,"Tip",null,"TDBGrid Columns",43,null,null,18,56,null]
[411,"Tip",null,"FreeObject instead of Free",65,null,null,18,56,null]
[412,"Tip",null,"Property Read/Write Fields",18,null,null,18,56,null]
[413,"Tip",null,"Bug in Delphi 2 ComboBox",18,null,null,18,56,null]
[414,"Tip",null,"Delphi 2 for loop bug",18,null,null,18,58,null]
[415,"Tip",null,"Generating compile date",75,null,null,18,60,null]
[416,"Tip",null,"Environment variables",76,null,null,18,60,null]
[417,"Tip",null,"Selecting the component library",77,null,null,18,62,null]
[418,"Review",null,"Book Review: Delphi 2 Developer's Solutions",2,null,null,19,6,null]
[419,"Article",null,"C++ Builder For Delphi Users",3,0,0,19,8,null]
[420,"Article","CONSTRUC","Under Construction: A Delphi 2.01 Debugger",2,null,null,19,20,null]
[421,"Article","ISAPI","Internet Apps With ISAPI",5,null,null,19,28,null]
[422,"Article","SYSTEM","Beating The System: Managing Desktop Shortcuts",4,null,null,19,32,null]
[423,"Article","SERIAL","16-Bit Serial Communications",27,null,null,19,38,null]
[424,"Article",null,"One Last Compile...",null,null,null,19,49,null]
[425,"Article","SURVIVE","Surviving Client/Server: Customized User Administration",5,null,null,19,50,null]
[426,"Review",null,"Review: Anchor-P Copy Protection",4,null,null,19,53,null]
[427,"Clinic",null,"Window startup mode",3,null,null,19,54,null]
[428,"Clinic",null,"OCX Deployment",3,null,null,19,56,null]
[429,"Clinic",null,"Oracle packages",3,null,null,19,56,null]
[430,"Clinic",null,"File finding",3,null,null,19,56,null]
[431,"Clinic",null,"Eating mouse clicks and key presses",3,null,null,19,58,null]
[432,"Tip",null,"TApplication's missing events",25,null,null,19,60,null]
[433,"Tip",null,"Heap checking",43,null,null,19,62,null]
[434,"Tip",null,"Combo box helpers",78,null,null,19,62,null]
[435,"Tip",null,"Data validation, required fields and null values",79,null,null,19,63,null]
[436,"Article","SYSTEM","Beating the System: Explorer-style active buttons",4,null,null,20,8,null]
[437,"Article",null,"One last compile...",null,null,null,20,17,null]
[438,"Article",null,"The Delphi 3 Novelty Store",3,null,null,20,18,null]
[439,"Article","SURVIVE","Surviving Client/Server: User-defined SQL functions",5,null,null,20,28,null]
[440,"Article","CONSTRUC","Under Construction: Multi-threading in components",2,null,null,20,32,null]
[441,"Article","LISTBOX","Things you can do with standard controls: the ListBox",3,null,null,20,38,null]
[442,"Review",null,"Review: Async Professional for Delphi 2.01",4,null,null,20,43,null]
[443,"Article","CACHE","Client/Server caching using file streams",71,null,null,20,46,null]
[444,"Clinic",null,"Getting Delphi 2 and 3 help files to co-exist",3,null,null,20,51,null]
[445,"Clinic",null,"Trapping keystrokes in a TCheckBox",3,null,null,20,51,null]
[446,"Clinic",null,"Property editors for properties of components in DLLs",3,null,null,20,54,null]
[447,"Clinic",null,"ShellExecuteEx doesn't work under Windows NT",3,null,null,20,55,null]
[448,"Clinic",null,"Direct access to hardware ports",3,null,null,20,56,null]
[449,"Tip",null,"Class methods for cleaner, more reliable code",80,null,null,20,58,null]
[450,"Tip",null,"Managing stored procedures",30,null,null,20,58,null]
[451,"Tip",null,"Re-opening closed datasets",30,null,null,20,60,null]
[452,"Tip",null,"Table cloning",30,null,null,20,60,null]
[453,"Tip",null,"BDE Paradox driver bug for BLOB fields of size zero",18,null,null,20,60,null]
[454,"Tip",null,"Initialized variables",81,null,null,20,63,null]
[455,"Article",null,"The Delphi 3 Novelty Store: Part 2",3,null,null,21,8,null]
[456,"Review",null,"Review: Reporting Tools",82,null,null,21,21,null]
[457,"Article","CONSTRUC","Under Construction: Delphi Wizard Magic",2,null,null,21,29,null]
[458,"Article",null,"Reducing Server Load",83,null,null,21,35,null]
[459,"Article",null,"One Last Compile: Good programming practices #137: the job ads",null,null,null,21,40,null]
[460,"Article","SYSTEM","Beating the System: Manipulating 16-bit resources",4,null,null,21,41,null]
[461,"Article","TCP","TCP/IP data transfer with the NetManage TCP ActiveX",84,null,null,21,46,null]
[462,"Clinic",null,"Making StringGrid cells non-selectable",3,null,null,21,52,null]
[463,"Clinic",null,"Setting TComboBox drop-down width",3,null,null,21,52,null]
[464,"Clinic",null,"Polymorphic procedure calls",3,0,0,21,52,null]
[465,"Clinic",null,"Interrupting SQL queries",3,null,null,21,54,null]
[466,"Clinic",null,"Determining Windows platform: 3.1, Windows 95, Windows NT",3,null,null,21,54,null]
[467,"Clinic",null,"Trapping unwanted double clicks",3,null,null,21,56,null]
[468,"Clinic",null,"Setting system date and time",3,null,null,21,56,null]
[469,"Clinic",null,"Lost carets",3,null,null,21,56,null]
[470,"Tip",null,"Controlling Internet Explorer via OLE Automation",85,null,null,21,59,null]
[471,"Tip",null,"Exceptions in QuickReport",47,null,null,21,59,null]
[472,"Tip",null,"Vertical fonts in QuickReport",47,null,null,21,59,null]
[473,"Tip",null,"Assigning accelerator keys at runtime",73,null,null,21,60,null]
[474,"Tip",null,"Free disk space on drives over 2Gb",86,null,null,21,62,null]
[475,"Tip",null,"Filename without extension",73,null,null,21,62,null]
[476,"Article","RTLI","Run-time location information in Delphi 2",87,null,null,22,8,null]
[477,"Article","BUTTONS","Things you can do with standard controls: the TButton",3,null,null,22,16,null]
[478,"Article","CONSTRUC","Under Construction: Delphi 3 active forms",2,null,null,22,22,null]
[479,"Article","TIMING","High-Accuracy timing",88,null,null,22,29,null]
[480,"Article","SYSTEM","Beating The System: Manipulating 16-bit resources, part 2",4,null,null,22,36,null]
[481,"Article",null,"Surviving client/server: Database design primer",5,null,null,22,41,null]
[482,"Article",null,"One last compile: Psst! Wanna know a secret?",null,null,null,22,47,null]
[483,"Review",null,"Review: TCompress",4,null,null,22,48,null]
[484,"Review",null,"Review: TMultLang 1.2",86,47,null,22,50,null]
[485,"Clinic",null,"SDI menu problems",3,null,null,22,53,null]
[486,"Clinic",null,"Drag and drop onto TMemo",3,null,null,22,54,null]
[487,"Clinic",null,"Multiple TSplitter",3,null,null,22,54,null]
[488,"Clinic",null,"Minimising Delphi applications",3,null,null,22,56,null]
[489,"Clinic",null,"Query execution speed",3,null,null,22,56,null]
[490,"Tip",null,"Unique log files",73,null,null,22,58,null]
[491,"Tip",null,"Validating TBitmap",73,null,null,22,58,null]
[492,"Tip",null,"Closing DOS program window",48,null,null,22,58,null]
[493,"Tip",null,"Design time context sensitive help",86,null,null,22,60,null]
[494,"Tip",null,"TabbedNotebook and TabSet components",21,null,null,22,60,null]
[495,"Tip",null,"QuickReports band layout",23,null,null,22,60,null]
[496,"Tip",null,"QuickReports multiple detail fields",23,null,null,22,62,null]
[497,"Tip",null,"QuickReports sizing and placement",23,null,null,22,62,null]
[498,"Article","PASTOWEB","Converting Pascal to HTML",9,null,null,23,8,null]
[499,"Article","CONSTRUC","Under Construction: Delphi 3 packages",2,89,null,23,17,null]
[500,"Article","STARTUP","Startup and shutdown points",3,null,null,23,27,null]
[501,"Article",null,"One last compile",null,null,null,23,32,null]
[502,"Article","SURVIVE","Surviving client/server: credit payments, part 1",5,null,null,23,33,null]
[503,"Article","EVENTLST","Creating component suites: an event list",22,null,null,23,37,null]
[504,"Article","SYSTEM","Beating the system: Adding to your Delphi toolkit",4,null,null,23,40,null]
[505,"Article","SYSFONT","Windows 95 system fonts",74,null,null,23,45,null]
[506,"Article","EXPRESS","Express yourself",90,null,null,23,48,null]
[507,"Clinic",null,"Message dialog buttons",3,null,null,23,53,null]
[508,"Clinic",null,"Critical Sections",3,null,null,23,53,null]
[509,"Clinic",null,"Stay on top TDBLookupComboBox in Delphi 1",3,null,null,23,54,null]
[510,"Clinic",null,"Using Locate with multiple fields",3,null,null,23,54,null]
[511,"Clinic",null,"Acessing Win32 help file contents page",3,null,null,23,56,null]
[512,"Clinic",null,"Application launcher: finding running applications",3,null,null,23,58,null]
[513,"Clinic",null,"ShowWindow problem",3,null,null,23,56,null]
[514,"Clinic",null,"Update: executing methods by name",3,null,null,23,58,null]
[515,"Tip",null,"QuickReports images and dots",23,null,null,23,60,null]
[516,"Tip",null,"QuickReports generalised report control",23,null,null,23,60,null]
[517,"Tip",null,"Delphi 3 hints bug",18,null,null,23,60,null]
[518,"Tip",null,"Delphi 2 and 3 hints and warning bug",18,null,null,23,62,null]
[519,"Tip",null,"Memo line and column",48,null,null,23,62,null]
[520,"Article","CONSTRUC","Under Construction: Delphi 3 Web Modules, Part 1",2,null,null,24,8,null]
[521,"Article","MENUS","Things You Can Do With Standard Controls: TMenuItem",3,null,null,24,17,null]
[522,"Article","SURVIVE","Surviving Client/Server: Credit Payments, Part 2",5,null,null,24,22,null]
[523,"Article","NTSERV","Creating NT Services",27,0,0,24,26,null]
[524,"Article","SYSTEM","Beating The System: Zip Files, Peeking Under The Hood",4,null,null,24,35,null]
[525,"Article","CLASSTRP","Implementing Class-Traps For Delphi And C++Builder",91,null,null,24,43,null]
[526,"Article",null,"One last compile",null,null,null,24,42,null]
[527,"Article",null,"Nashville BDC: A Mike's Eye View",8,null,null,24,47,null]
[528,"Article",null,"More News From Nashville",1,0,0,24,50,null]
[529,"Review",null,"Review: ISGMAPI",86,null,null,24,53,null]
[530,"Clinic",null,"Making A 256 Colour Bitmap",3,null,null,24,54,null]
[531,"Tip",null,"Delphi 2/3 Typed TObject Bug",18,null,null,24,60,null]
[532,"Clinic",null,"Background Palette Information",3,null,null,24,56,null]
[533,"Clinic",null,"MessageDlg Surprises",3,null,null,24,56,null]
[534,"Clinic",null,"Localised Database Headaches",3,null,null,24,57,null]
[535,"Clinic",null,"Iconic Applications",3,null,null,24,57,null]
[536,"Tip",null,"Modifying Form Files",23,null,null,24,60,null]
[537,"Tip",null,"BDE Version Incompatibilities",23,null,null,24,60,null]
[538,"Tip",null,"More Delimiter Tools",23,null,null,24,60,null]
[539,"Tip",null,"Just The Extension Please",92,null,null,24,63,null]
[540,"Article","SURVIVE","Surviving Client/Server: Custom Dataset Components, 1",5,null,null,25,8,null]
[541,"Article","HIPSQUAR","Who Said It's Hip To Be Square?",74,null,null,25,18,null]
[542,"Article","WEBCOMM","Web Commerce With Delphi",86,null,null,25,26,null]
[543,"Article",null,"One Last Compile...",null,null,null,25,32,null]
[544,"Article","SYSTEM","Beating The System: Now Where Did I Put That File?",4,null,null,25,33,null]
[545,"Article","CONSTRUC","Under Construction: Delphi 3 Web Modules, Part 2",2,null,null,25,40,null]
[546,"Article","SPEED","Speeding Up Client/Server",66,null,null,25,47,null]
[547,"Clinic",null,"GUID Generation",3,null,null,25,54,null]
[548,"Clinic",null,"ReportSmith and the TReport mystery",3,null,null,25,54,null]
[549,"Clinic",null,"Static class data",3,null,null,25,55,null]
[550,"Clinic",null,"WideString",3,null,null,25,55,null]
[551,"Clinic",null,"Win32s",3,null,null,25,56,null]
[552,"Clinic",null,"Command line compiler",3,null,null,25,56,null]
[553,"Clinic",null,"Accessing components by name",3,null,null,25,56,null]
[554,"Clinic",null,"Pixel colours changing",3,null,null,25,56,null]
[555,"Tip",null,"Copying string lists to the clipboard",93,null,null,25,58,null]
[556,"Tip",null,"Exposing field name",73,null,null,25,58,null]
[557,"Tip",null,"Large string lists",65,null,null,25,58,null]
[558,"Tip",null,"Upgrading data between program versions",30,null,null,25,60,null]
[559,"Article","KEYTRAP","Trapping Keystrokes",93,null,null,26,8,null]
[560,"Article","SURVIVE","Surviving Client/Server: Custom Dataset Components, 2",5,null,null,26,20,null]
[561,"Article","CONSTRUC","Under Construction: Homepage Hit Counter",2,null,null,26,28,null]
[562,"Article","PAGECTRL","Things You Can Do With Standard Controls: TPageControl",3,null,null,26,35,null]
[563,"Article","WEBSOL","Extending Web Solution Builder",89,null,null,26,40,null]
[564,"Article","SYSTEM","Beating The System: Runtime Library Determination Utility",4,null,null,26,47,null]
[565,"Article",null,"One Last Compile...",null,null,null,26,52,null]
[566,"Article","DIRECTX","DirectX 3D In Delphi",140,141,0,26,53,null]
[567,"Clinic",null,"Data Aware Control Request",3,null,null,26,56,null]
[568,"Clinic",null,"Clipboard",3,null,null,26,57,null]
[569,"Tip",null,"IDAPI32.CFG",8,null,null,26,59,null]
[570,"Tip",null,"Changing The Month",8,null,null,26,59,null]
[571,"Tip",null,"Plugging In A Class",94,null,null,26,59,null]
[572,"Tip",null,"Notebook Menu Merging",22,null,null,26,60,null]
[573,"Tip",null,"Version Information",95,null,null,26,60,null]
[574,"Tip",null,"Starting Projects Via DPR",96,null,null,26,60,null]
[575,"Tip",null,"Code Completion",97,null,null,26,62,null]
[576,"Tip",null,"Navigation With Cursor Keys",95,null,null,26,62,null]
[577,"Tip",null,"Update: More Delimiter Tools, Issue 24",23,null,null,26,62,null]
[578,"Tip",null,"Update: Just The Extension Please",98,null,null,26,62,null]
[579,"Article","COLLATE","Delusions Of Grandeur",99,null,null,27,8,null]
[580,"Article",null,"Surviving Client/Server: Data Mining  With TDecisionCube",5,null,null,27,13,null]
[581,"Article","CONSTRUC","Under Construction: TBrokenLink Component",2,null,null,27,19,null]
[582,"Article",null,"One Last Compile...",null,null,null,27,29,null]
[583,"Article","ARCHAEOP","Delphi 3 Add-In Packages: Digging The Dirt On Archaeopteryx",3,null,null,27,30,null]
[584,"Article","SYSTEM","Beating The System: EXE Sniffing, The Story Continues...",4,null,null,27,38,null]
[585,"Article","WHOAMI","Who Am I?",14,null,null,27,44,null]
[586,"Article","CONTROLS","Controls Demystified",100,null,null,27,49,null]
[587,"Clinic",null,"UNC",3,null,null,27,54,null]
[588,"Clinic",null,"Unexpected Disk Space",3,null,null,27,54,null]
[589,"Clinic",null,"Calling Into DLLs",3,null,null,27,54,null]
[590,"Clinic",null,"Context Help",3,null,null,27,54,null]
[591,"Clinic",null,"Table Names",3,null,null,27,57,null]
[592,"Clinic",null,"Forms Compiled Into Exes",3,null,null,27,57,null]
[593,"Clinic",null,"DLL Imports",3,null,null,27,58,null]
[594,"Tip",null,"Win32 API error codes",101,null,null,27,60,null]
[595,"Tip",null,"Two 'Gotchas'",102,null,null,27,60,null]
[596,"Tip",null,"Update: Starting Projects Via DPR",103,null,null,27,60,null]
[597,"Tip",null,"Update: Navigation With Cursor Keys (Issue 26)",104,null,null,27,60,null]
[598,"Tip",null,"Const Parameters",8,null,null,27,60,null]
[599,"Tip",null,"Colours Property Editor",11,null,null,27,61,null]
[600,"Tip",null,"FilteredComponent Property Editor",11,null,null,27,61,null]
[601,"Tip",null,"DbiDoRestructure Wrapper",43,null,null,27,61,null]
[602,"Article","SUBCLASS","Subclassing",23,null,null,28,8,null]
[603,"Article","SURVIVE","Surviving Client/Server: Phonetic Matching",5,null,null,28,18,null]
[604,"Article","SURVIVE","TDataSet Update from Issues 25 and 26",5,null,null,28,21,null]
[605,"Article","SURVIVE","Surviving SQL: Phonetic matching",5,null,null,28,22,null]
[606,"Article","CONSTRUC","Under Construction: Assertions",2,null,null,28,23,null]
[607,"Article",null,"Delphi Meets COM: Part 1",4,null,null,28,27,null]
[608,"Article","WEB","Get On The Web With Delphi 3",54,null,null,28,35,null]
[609,"Article",null,"One Last Compile...",null,null,null,28,42,null]
[610,"Article","OPENGL","Beating The System: Using OpenGL In Delphi Apps",4,0,0,28,43,null]
[611,"Article",null,"Update to Issue 27 Beating the System",4,0,0,28,48,null]
[612,"Clinic",null,"TPageControl.OnChanging",3,null,null,28,50,null]
[613,"Clinic",null,"Removing components in Delphi 3",3,null,null,28,50,null]
[614,"Clinic",null,"Version information build number",3,null,null,28,50,null]
[615,"Clinic",null,"Custom message dialog caption",3,null,null,28,50,null]
[616,"Clinic",null,"SQL Server blob size",3,null,null,28,50,null]
[617,"Clinic",null,"Changing paradox table language",3,null,null,28,52,null]
[618,"Clinic",null,"Check if EXE is running",3,null,null,28,52,null]
[619,"Clinic",null,"Opening projects",3,null,null,28,53,null]
[620,"Clinic",null,"Undo in Edit controls",3,null,null,28,54,null]
[621,"Tip",null,"Interfaced classes",11,null,null,28,56,null]
[622,"Tip",null,"Limiting a form's width and height",14,null,null,28,57,null]
[623,"Tip",null,"String matching",8,null,null,28,57,null]
[624,"Tip",null,"DBGrid current cell position",8,null,null,28,57,null]
[625,"Tip",null,"Horizontal scrolls for ListBox",73,null,null,28,58,null]
[626,"Tip",null,"Find oldest and newest files",73,null,null,28,58,null]
[627,"Tip",null,"Painting on a GroupBox",8,null,null,28,58,null]
[628,"Tip",null,"Radio group and ActiveControl",8,null,null,28,60,null]
[629,"Tip",null,"Insert and overtype mode for DBEdit",8,null,null,28,62,null]
[630,"Tip",null,"Cursor key navigation",105,null,null,28,62,null]
[631,"Tip",null,"Fields editor at runtime",8,null,null,28,62,null]
[632,"Tip",null,"Getting buttons to push themselves",8,null,null,28,62,null]
[633,"Article","SYSTEM","Beating The System: Exploring Delphi's Closed-Tools API",4,null,null,29,8,null]
[634,"Article","BUFFSTRM","Here Comes The Flood",99,null,null,29,17,null]
[635,"Article","CONSTRUC","Under Construction: Website Indexing, Part 1",2,null,null,29,22,null]
[636,"Article","SURVIVE","Surviving Client/Server: Indexing Freeform Text",5,null,null,29,30,null]
[637,"Article","WEB","Get On The Web With Delphi 3",54,null,null,29,37,null]
[638,"Article",null,"Delphi Meets COM: Part 2",4,null,null,29,46,null]
[639,"Article",null,"One Last Compile...",null,null,null,29,55,null]
[640,"Clinic",null,"MS SQL Server Connections",3,null,null,29,56,null]
[641,"Clinic",null,"Nicely Formatted Numbers",3,null,null,29,56,null]
[642,"Clinic",null,"Failed Typecast",3,null,null,29,58,null]
[643,"Clinic",null,"Destructor Query",3,null,null,29,58,null]
[644,"Clinic",null,"SLIB Directory",3,null,null,29,60,null]
[645,"Clinic",null,"Form Creation",3,null,null,29,60,null]
[646,"Clinic",null,"Microsoft Web Browser ActiveX",3,null,null,29,62,null]
[647,"Article","CROSSREF","Writing A Cross Reference Tool",9,null,null,30,8,null]
[648,"Article","HASH","Ballet Mechanique",99,null,null,30,18,null]
[649,"Article","CONSTRUC","Under Construction: Website Indexing, Part 2",2,null,null,30,26,null]
[650,"Article","DELCOM","Delphi Meets COM: Part 3",4,null,null,30,32,null]
[651,"Article",null,"One Last Compile...",null,null,null,30,39,null]
[652,"Article","STARTUP","Fatal Startup Error",3,null,null,30,40,null]
[653,"Article","SYSTEM","Beating The System: Exploring Delphi's Closed-Tools API, Part 2",4,null,null,30,44,null]
[654,"Article","DATALINK","The Ultimate TDataLink?",106,null,null,30,50,null]
[655,"Clinic",null,"Loading Arbitrary Forms",3,null,null,30,54,null]
[656,"Clinic",null,"Design-Time Packages",3,null,null,30,54,null]
[657,"Clinic",null,"Alias Property Editor",3,null,null,30,54,null]
[658,"Clinic",null,"Index Combobox",3,null,null,30,55,null]
[659,"Clinic",null,"IndexFieldNames Exception",3,null,null,30,56,null]
[660,"Clinic",null,"Pictures In Databases",3,null,null,30,58,null]
[661,"Clinic",null,"Errata",3,null,null,30,58,null]
[662,"Article","CORNER","Mike's Corner",8,null,null,30,59,null]
[663,"Article",null,"Surviving Client/Server: Three- Tier Applications With MIDAS",5,108,null,31,8,null]
[664,"Article","WEBCOMM","Web Commerce With Delphi: Live Transaction Processing",86,0,0,31,18,null]
[665,"Article","HASH2","Hang Onto Yourself",99,null,null,31,22,null]
[666,"Article","SYSTEM","Beating The System: Exploring Delphi's Closed-Tools API, 3",4,null,null,31,29,null]
[667,"Article",null,"One Last Compile...",null,null,null,31,35,null]
[668,"Article","CONSTRUC","Under Construction: A Simple Spelling Checker",2,null,null,31,36,null]
[669,"Article","DELCOM","Delphi Meets COM: Part 4",4,null,null,31,41,null]
[670,"Article","EXTEND","Writing Microsoft SQL Server Extended Stored Procedures",107,null,null,31,48,null]
[671,"Article","TABLESRC","Table Source Generator Expert",2,null,null,31,60,null]
[672,"Clinic",null,"Delphi 3 Display Glitch",3,null,null,31,53,null]
[673,"Clinic",null,"Troublesome RichEdits",3,null,null,31,53,null]
[674,"Clinic",null,"Rounding Inconsistency",3,null,null,31,54,null]
[675,"Clinic",null,"Icons, Metafiles And Graphic Fields",3,null,null,31,54,null]
[676,"Clinic",null,"Thunking: Calling 16-Bit Code From 32-Bit",3,null,null,31,59,null]
[677,"Article","MULTIPLE","Simulating Multiple Inheritance With Delphi Interfaces",9,null,null,32,8,null]
[678,"Article","SYSTEM","Beating The System: Delphi Meets IntelliMouse",4,null,null,32,14,null]
[679,"Article","SWEETD","Sweet Dreams",99,null,null,32,22,null]
[680,"Article","SURVIVE","Surviving Client/Server: OLE Automation With SQL Server",5,null,null,32,30,null]
[681,"Article",null,"Surviving SQL: TBatchMove",5,null,null,32,35,null]
[682,"Article","CONSTRUC","Under Construction: A Query HTML CGI-Form Wizard",2,null,null,32,36,null]
[683,"Article",null,"One Last Compile...",null,null,null,32,43,null]
[684,"Article",null,"Delphi Meets COM: Part 5",4,null,null,32,44,null]
[685,"Article","FORMS","Form Printing DOS-Style",22,null,null,32,50,null]
[686,"Article","HOOKS","Hooks Unsnagged",93,null,null,32,53,null]
[687,"Clinic",null,"Grid Cell Positioning",3,null,null,32,54,null]
[688,"Clinic",null,"Application And Window Handles",3,null,null,32,54,null]
[689,"Clinic",null,"DLL Failure",3,null,null,32,57,null]
[690,"Clinic",null,"Playing Videos",3,null,null,32,57,null]
[691,"Article","UNDO","Multiple Undo",93,null,null,33,8,null]
[692,"Article","RANDOM","Round & Round",99,null,null,33,18,null]
[693,"Article",null,"Surviving Client/Server",5,null,null,33,26,null]
[694,"Article","PACKLIST","Creating A File Packing List",22,null,null,33,30,null]
[695,"Article","SYSTEM","Beating the System: Delphi Meets IntelliMouse, Part 2",4,null,null,33,34,null]
[696,"Article","INTRPOSR","Interposer Classes",21,null,null,33,41,null]
[697,"Article","CONSTRUC","Under Construction: Internet Database Applications",2,null,null,33,43,null]
[698,"Article",null,"One Last Compile...",null,null,null,33,49,null]
[699,"Article","DELCOM","Delphi Meets COM: Part 6",4,null,null,33,50,null]
[700,"Clinic",null,"Radio Group Problem",3,null,null,33,57,null]
[701,"Clinic",null,"Application Time-Out",3,null,null,33,58,null]
[702,"Clinic",null,"Event Complexity",3,null,null,33,60,null]
[703,"Clinic",null,"Updating System Files",3,null,null,33,61,null]
[704,"Article","REAL3D","Real Time 3D",109,110,null,34,8,null]
[705,"Article","ALFRESCO","Algorithms Alfresco: Love Plus One",99,null,null,34,16,null]
[706,"Article",null,"One Last Compile...",null,null,null,34,23,null]
[707,"Article","TIMETRAV","Delphi For Time Travellers",23,null,null,34,24,null]
[708,"Article",null,"Surviving Client/Server: Object Oriented Databases",5,null,null,34,33,null]
[709,"Article","SYSTEM","Beating The System: Add Extra Richness To RichEdit Controls!",4,0,0,34,38,null]
[710,"Article","CONSTRUC","Under Construction: Database Web Server Extensions",2,null,null,34,43,null]
[711,"Article","34COM","Delphi Meets COM: Part 7",4,null,null,34,51,null]
[712,"Clinic",null,"Bad Uninstall",3,null,null,34,58,null]
[713,"Clinic",null,"Control Looping",3,null,null,34,58,null]
[714,"Clinic",null,"BDE Errors",3,null,null,34,60,null]
[715,"Clinic",null,"Trapping Database Exceptions",3,null,null,34,61,null]
[716,"Clinic",null,"Captionless Dragging",3,null,null,34,62,null]
[717,"Clinic",null,"Resetting Autoincrement Fields",3,null,null,34,63,null]
[718,"Article",null,"Delphi 4 Preview",3,null,null,35,8,null]
[719,"Article","SYSTEM","Beating The System: RichEdit Controls, Part 2",4,null,null,35,10,null]
[720,"Article","MULTISEL","DBGrid Multi-Selection",19,null,null,35,18,null]
[721,"Article","CONSTRUC","Under Construction: Automated Email",2,null,null,35,21,null]
[722,"Article","TOBJECT","The Rise And Fall Of TObject",18,null,null,35,26,null]
[723,"Article","ALFRESCO","Algorithms Alfresco: Call Me",99,null,null,35,32,null]
[724,"Article","RTTI","Manipulating Runtime Type Information",111,null,null,35,38,null]
[725,"Article",null,"Surviving Client/Server: ODBMS In Practice, Part 1",5,null,null,35,44,null]
[726,"Article",null,"One Last Compile...",null,null,null,35,49,null]
[727,"Article","35COM","Delphi Meets COM: Part 8",4,null,null,35,50,null]
[728,"Clinic",null,"BDE Administrator Amnesia",3,null,null,35,54,null]
[729,"Clinic",null,"Bad BDE Installation",3,null,null,35,54,null]
[730,"Clinic",null,"Dynamic Fonts",3,null,null,35,54,null]
[731,"Clinic",null,"Cached Updates Problem",3,null,null,35,54,null]
[732,"Clinic",null,"Erratic MDI Menu",3,null,null,35,56,null]
[733,"Clinic",null,"Shipping Bitmaps",3,null,null,35,56,null]
[734,"Clinic",null,"Graphic File Extensions",3,null,null,35,58,null]
[735,"Clinic",null,"Office Integration",3,null,null,35,59,null]
[736,"Article","MIXIN","Mix-In It Up In Delphi",112,null,null,36,8,null]
[737,"Article","CONSTRUC","Under Construction: RobotBob Internet Agent",2,null,null,36,18,null]
[738,"Article","IMAGELST","ImageList In Depth",113,null,null,36,28,null]
[739,"Article","ALFRESCO","Algorithms Alfresco: Hunting High And Low",99,null,null,36,34,null]
[740,"Article",null,"New COM Features In Delphi 4: An Overview",10,null,null,36,40,null]
[741,"Article","RESOURCE","Using Windows Resources",111,null,null,36,44,null]
[742,"Article",null,"One Last Compile...",null,null,null,36,47,null]
[743,"Article","SYSTEM","Beating The System: A Windows 98 File Association Un-Mangler",4,null,null,36,48,null]
[744,"Article","FRMCACHE","Optimising Form Handling",111,null,null,36,54,null]
[745,"Article",null,"David And Goliath",null,null,null,36,63,null]
[746,"Clinic",null,"Incrementing A Date",3,null,null,36,58,null]
[747,"Clinic",null,"Access 97 Support",3,null,null,36,58,null]
[748,"Clinic",null,"Access Security",3,null,null,36,58,null]
[749,"Clinic",null,"Memory Management Woes",3,null,null,36,58,null]
[750,"Clinic",null,"Forcing Windows Shutdown",3,null,null,36,60,null]
[751,"Clinic",null,"Delphi Colour Changes",3,null,null,36,60,null]
[752,"Clinic",null,"List Of Numbers",3,null,null,36,61,null]
[753,"Article","D4BUGS","Delphi 4 Bugs And Fixes",18,4,0,37,8,null]
[754,"Article","OUTLOOK","Integrating With Outlook And Exchange",107,0,0,37,13,null]
[755,"Article","ALFRESCO","Algorithms Alfresco: That's The Way It Goes",99,0,0,37,20,null]
[756,"Article","SYSTEM","Beating the System: Windows 98 File Associations, Part 2",4,0,0,37,30,null]
[757,"Article","DYNARR","Dynamic Arrays",3,0,0,37,36,null]
[758,"Article",null,"ICon 98: Conference Report",112,0,0,37,44,null]
[759,"Article",null,"Surviving Client/Server: ODBMS In Practice, Part 2",5,0,0,37,47,null]
[760,"Article","CONSTRUC","Under Construction: Delphi 4 Web Broker Technology",2,0,0,37,51,null]
[761,"Article","COMCORNE","COM Corner: ActiveX Data Binding In Delphi",10,0,0,37,54,null]
[762,"Clinic",null,"Delphi Component Templates",3,0,0,37,58,null]
[763,"Clinic",null,"Current Printer?",3,0,0,37,58,null]
[764,"Clinic",null,"Export To Excel",3,0,0,37,58,null]
[765,"Clinic",null,"Flashing Text",3,0,0,37,58,null]
[766,"Clinic",null,"Microsoft Internet Mail Style Application",3,0,0,37,58,null]
[767,"Clinic",null,"BDE Error Dialog",3,0,0,37,61,null]
[768,"Clinic",null,"Capturing DOS Output",3,0,0,37,62,null]
[769,"Article",null,"One Last Compile",0,0,0,37,18,null]
[770,"Article","ALFRESCO","Algorithms Alfresco: Like A Tattoo, Introducing Graphs",99,0,0,38,8,null]
[771,"Article","PARSER","Building A Parsing Component",22,0,0,38,19,null]
[772,"Article",null,"Under Construction: MIDAS, CORBA And TClientDataSet",2,0,0,38,26,null]
[773,"Article","SYSTEM","Beating the System: A Delphi Version Reporting Component",4,0,0,38,36,null]
[774,"Article","BUILDPRO","Creating A Delphi Build Process",113,0,0,38,31,null]
[775,"Article",null,"Com Corner: Distributed Computing",10,0,0,38,42,null]
[776,"Article","SURVIVE","Surviving Client/Server: Interactive Query Building",5,0,0,38,46,null]
[777,"Article","DYNATAB","Creating TTables And TFields At Runtime",2,0,0,38,51,null]
[778,"Article",null,"One Last Compile...",0,0,0,38,55,null]
[779,"Clinic",null,"Undocumented Delphi 4",3,0,0,38,56,null]
[780,"Clinic",null,"Stopping Windows Shutdown",3,0,0,38,56,null]
[781,"Clinic",null,"Program Running Upon Windows Start-Up",3,0,0,38,57,null]
[782,"Clinic",null,"IDE Keyboard Problem",3,0,0,38,58,null]
[783,"Clinic",null,"Keystroke Interception",3,0,0,38,58,null]
[784,"Clinic",null,"Dynamic Fonts Update",3,0,0,38,62,null]
[785,"Clinic",null,"Erratic MDI Menu Update",3,0,0,38,62,null]
[786,"Article","MIME","Base64 MIME Encoding",114,0,0,39,8,null]
[787,"Article","SLIMMER","Slimming The Fat Off Your Apps",18,0,0,39,13,null]
[788,"Article","USERINT","New Delphi 4 User Interface Features",93,0,0,39,18,null]
[789,"Article",null,"One Last Compile...",0,0,0,39,26,null]
[790,"Article","COMCORN","COM Corner: Automation Events",10,0,0,39,28,null]
[791,"Article",null,"Algorithms Alfresco: Priority Queues And Heapsort",99,0,0,39,34,null]
[792,"Article","CONSTRUC","Under Construction: Website Visitor Tracking",2,0,0,39,42,null]
[793,"Article","SYSTEM","Beating the System: Surfing Explorer's Namespace",4,0,0,39,50,null]
[794,"Article","SMARTER","Preventative Programming: Code Smarter, Debug Less",89,0,0,39,55,null]
[795,"Clinic",null,"Paradox Lock Information",3,0,0,39,59,null]
[796,"Clinic",null,"Formatted Numbers",3,0,0,39,59,null]
[797,"Clinic",null,"RichEdit Tabstops",3,0,0,39,59,null]
[798,"Clinic",null,"Environment Variables",3,0,0,39,60,null]
[799,"Clinic",null,"Net File Directory",3,0,0,39,60,null]
[800,"Clinic",null,"SQL Dates",3,0,0,39,60,null]
[801,"Clinic",null,"Folders And Shortcuts",3,0,0,39,61,null]
[802,"Clinic",null,"Tooltip Characters",3,0,0,39,63,null]
[803,"Article","DIAGRAM","Diagramming In Delphi",25,0,0,40,8,null]
[804,"Article","SYSTEM","Beating The System: Exploiting The System Image List",4,0,0,40,18,null]
[805,"Article","COMCORN","COM Corner: Namespace Extensions",10,0,0,40,24,null]
[806,"Article","CONSTRUC","Under Construction: Surfin' Your Surfers With TDecisionCube",2,0,0,40,28,null]
[807,"Article","ALFRESCO","Algorithms Alfresco: Silent Night",99,0,0,40,34,null]
[808,"Article","KEYSTROK","Manufacturing Fake Keystrokes",3,0,0,40,44,null]
[809,"Article","THREADS","Knitting Your Own Threads",18,0,0,40,50,null]
[810,"Article",null,"One Last Compile...",0,0,0,40,56,null]
[811,"Article",null,"Surviving SQL",5,0,0,40,57,null]
[812,"Clinic",null,"Enhanced Grids",3,0,0,40,59,null]
[813,"Clinic",null,"Restarting Windows",3,0,0,40,60,null]
[814,"Clinic",null,"TStringGrid Coordinates",3,0,0,40,64,null]
[815,"Clinic",null,"Code Insight Customisation",3,0,0,40,64,null]
[816,"Clinic",null,"Windows API Help Files",3,0,0,40,62,null]
[817,"Article","PATTERNS","Design Patterns",18,0,0,41,8,null]
[818,"Article",null,"Surviving Client/Server: Replicating Server Constraints",5,0,0,41,17,null]
[819,"Article","ALFRESCO","Algorithms Alfresco: Join The Dots",99,0,0,41,26,null]
[820,"Article","CONSTRUC","Under Construction: Usenet News Reading",2,0,0,41,36,null]
[821,"Article","DIAGRAM","Diagramming With Delphi, 2: The Adventure Continues",25,0,0,41,42,null]
[822,"Article","SYSTEM","Beating the System: Animated Icons And Cursors, 1",4,0,0,41,50,null]
[823,"Article",null,"One Last Compile...",0,0,0,41,56,null]
[824,"Article","COMCORN","COM Corner: Automation Collections",10,0,0,41,57,null]
[825,"Clinic",null,"Is This Property Published?",3,0,0,41,61,null]
[826,"Clinic",null,"SQL Cursor Banished",3,0,0,41,61,null]
[827,"Clinic",null,"Bracket Matching",3,0,0,41,61,null]
[828,"Clinic",null,"Win32 System Modal Window",3,0,0,41,61,null]
[829,"Clinic",null,"Bad Editor Line Numbers",3,0,0,41,62,null]
[830,"Clinic",null,"Backspace And New Line",3,0,0,41,62,null]
[831,"Clinic",null,"Edit-Less TDBGrid",3,0,0,41,63,null]
[832,"Clinic",null,"Control Panel Invocation",3,0,0,41,64,null]
[833,"Article","OPENGL","OpenGL: Under The Hood",115,0,0,42,8,null]
[834,"Article","ASP","Implementing Active Server Pages",116,0,0,42,20,null]
[835,"Article",null,"One Last Compile...",0,0,0,42,27,null]
[836,"Article","DIAGRAM","Update: Diagramming In Delphi, Part 2",25,0,0,42,27,null]
[837,"Article","SYSTEM","Beating the System: Animated Icons And Cursors, 2",4,0,0,42,28,null]
[838,"Article","PARADOX","Paradox File Corruption",3,0,0,42,37,null]
[839,"Article","ALFRESCO","Algorithms Alfresco: Back On The Chain Gang",99,0,0,42,41,null]
[840,"Article","CONSTRUC","Under Construction: Usenet News Reading, 2",2,0,0,42,49,null]
[841,"Article","COMCORN","COM Corner: ActiveX Documents, Part 1",10,0,0,42,53,null]
[842,"Clinic",null,"SQL Query",3,0,0,42,58,null]
[843,"Clinic",null,"Delphi 4 Docking",3,0,0,42,60,null]
[844,"Clinic",null,"Delphi Hangs PC",3,0,0,42,60,null]
[845,"Clinic",null,"Delphi 4 Components",3,0,0,42,62,null]
[846,"Clinic",null,"Delphi 4 Editor Enhancements",3,0,0,42,62,null]
[847,"Clinic",null,"Delphi 4 Code Insight Customisation",3,0,0,42,63,null]
[848,"Article","ALFRESCO","Algorithms Alfresco: Follow Me, Follow You",99,0,0,43,8,null]
[849,"Article",null,"Updating MakeMethodInstance",117,0,0,43,18,null]
[850,"Article","TOOLTIPS","Tooltips Under Your Control",3,0,0,43,19,null]
[851,"Article","CONSTRUC","Under Construction: Delphi 4 and CORBA",2,0,0,43,26,null]
[852,"Article","DELAY","DelayLoading of DLLs",18,0,0,43,32,null]
[853,"Article",null,"One Last Compile...",0,0,0,43,45,null]
[854,"Article",null,"Delphi, Dates And The Year Two Thousand",82,0,0,43,46,null]
[855,"Article","SYSTEM","Beating the System: Protecting Your Intellectual Property",4,0,0,43,50,null]
[856,"Article","COMCORN","COM Corner: ActiveX Documents, Part 2",10,0,0,43,57,null]
[857,"Article","RECALC","Better Calculated Fields",52,0,0,43,65,null]
[858,"Clinic",null,"Task Bar Calculations",3,0,0,43,67,null]
[859,"Clinic",null,"IDE Dissatisfaction",3,0,0,43,67,null]
[860,"Clinic",null,"More On Property Editors",3,0,0,43,67,null]
[861,"Clinic",null,"Delphi 4 Disservice",3,0,0,43,69,null]
[862,"Clinic",null,"Missing DBGrid Events",3,0,0,43,69,null]
[863,"Clinic",null,"One Step ActiveX",3,0,0,43,72,null]
[864,"Article","SYSTEM","Beating the System: Putting The Squeeze On",4,0,0,44,8,null]
[865,"Article","HTMLMOVE","An HTML File Reference Corrector",22,0,0,44,18,null]
[866,"Article","SURVIVE","Surviving Client/Server: Power SQL",5,0,0,44,24,null]
[867,"Article","SOCKETS","Safer Sockets",118,0,0,44,30,null]
[868,"Article",null,"One Last Compile",0,0,0,44,33,null]
[869,"Article","ALFRESCO","Algorithms Alfresco: Knocked Down, Made Small",99,0,0,44,34,null]
[870,"Article","COMCORN","COM Corner: CoPourri",10,0,0,44,42,null]
[871,"Article","CONSTRUC","Under Construction: Delphi 4 And Java",2,119,0,44,46,null]
[872,"Article","SINGLETN","A Delphi Singleton Class: Update",9,0,0,44,54,null]
[873,"Clinic",null,"Bitmap Puzzle",3,0,0,44,57,null]
[874,"Clinic",null,"TTable Component Editor",3,0,0,44,58,null]
[875,"Clinic",null,"Treeviews And Tooltips",3,0,0,44,61,null]
[876,"Clinic",null,"Long And Short Filename Conversion",3,0,0,44,61,null]
[877,"Article","COOKIES","Internet Cookies",2,0,0,45,8,null]
[878,"Article","SYSTEM","Beating The System: Fun With Bitmaps",4,0,0,45,15,null]
[879,"Article","DCOM","DCOM Deployment Secrets",34,0,0,45,26,null]
[880,"Article","ALFRESCO","Algorithms Alfresco: Cherchez La Femme",99,0,0,45,32,null]
[881,"Article","CONSTRUC","Under Construction: Delphi 4 And Java, Part 2",2,119,0,45,42,null]
[882,"Article","RUNNING","Is Delphi Running?",3,0,0,45,47,null]
[883,"Article","MESSAGE","Getting The Message",112,0,0,45,50,null]
[884,"Article",null,"One Last Compile...",0,0,0,45,56,null]
[885,"Article",null,"COM Corner: Microsoft Transaction Server, Part 1",10,0,0,45,58,null]
[886,"Article","WEBDEBUG","Debugging Web Applications",23,0,0,45,62,null]
[887,"Clinic",null,"GUID Equality",3,0,0,45,65,null]
[888,"Clinic",null,"TStringLists And Files",3,0,0,45,65,null]
[889,"Clinic",null,"CORBA Limitation?",3,0,0,45,66,null]
[890,"Clinic",null,"CORBA And DUN",3,0,0,45,70,null]
[891,"Clinic",null,"Paradox Update",3,0,0,45,70,null]
[892,"Clinic",null,"NT Service Wizard Update",3,0,0,45,70,null]
[893,"Clinic",null,"Long Filename Update",3,0,0,45,72,null]
[894,"Clinic",null,"Update: Tooltips Under Your Control",3,0,0,45,72,null]
[895,"Article","ADO","ActiveX Data Objects",120,0,0,46,8,null]
[896,"Article","ALFRESCO","Algorithms Alfresco: Occupy Your Mind",99,0,0,46,18,null]
[897,"Article","UPLOADER","A Delphi CGI File Uploader",22,0,0,46,28,null]
[898,"Article","SYSTEM","Beating the System: Deciphering The DCU, Part 1",4,0,0,46,34,null]
[899,"Article","CONSTRUC","Under Construction: Nested Tables",2,0,0,46,40,null]
[900,"Article","PACKAGES","Distributed Application Development With Packages",3,0,0,46,44,null]
[901,"Article","COMCORN","COM Corner: Microsoft Transaction Server, Part 2",10,0,0,46,58,null]
[902,"Article",null,"One Last Compile...",0,0,0,46,63,null]
[903,"Clinic",null,"VCL Tab Question",3,0,0,46,64,null]
[904,"Clinic",null,"DLL Question",3,0,0,46,64,null]
[905,"Clinic",null,"Incomplete Free",3,0,0,46,64,null]
[906,"Clinic",null,"Active OLE Object",3,0,0,46,67,null]
[907,"Article","OOPRULES","20 Rules For OOP In Delphi",9,0,0,47,8,null]
[908,"Article","SYSTEM","Beating The System: Deciphering The DCU, Part 2",4,0,0,47,16,null]
[909,"Article","DIFFER","A Web Server Text Difference Engine",22,0,0,47,22,null]
[910,"Article","ALFRESCO","Algorithms Alfresco: Date Stamp",99,0,0,47,28,null]
[911,"Article","CONSTRUC","Under Construction: Creative Debugging Techniques",2,0,0,47,38,null]
[912,"Article",null,"One Last Compile...",0,0,0,47,42,null]
[913,"Article","INTBASE","Working With The InterBase API",121,0,0,47,44,null]
[914,"Article",null,"COM Corner: Language Support For COM",10,0,0,47,54,null]
[915,"Clinic",null,"Invalid BLOb Handle",3,0,0,47,60,null]
[916,"Clinic",null,"Object Etiquette",3,0,0,47,60,null]
[917,"Clinic",null,"Using Internet Explorer",3,0,0,47,62,null]
[918,"Clinic",null,"Temporary Internet Files",3,0,0,47,68,null]
[919,"Article","XML","XML: A Delphi Implementation",112,0,0,48,8,null]
[920,"Article","SYSTEM","Beating the System:Deciphering The DCU, Part 3",4,0,0,48,20,null]
[921,"Article","CONSTRUC","Under Construction: Delphi Goes Dynamic",2,0,0,48,28,null]
[922,"Article","ALFRESCO","Algorithms Alfresco: Whirlpool",99,0,0,48,33,null]
[923,"Article","MEMORY","Delphi Memory Consumption",3,0,0,48,44,null]
[924,"Article",null,"One Last Compile...",0,0,0,48,50,null]
[925,"Article","COMCORN","COM Corner: Top 10 ActiveForm Questions",10,0,0,48,51,null]
[926,"Article",null,"Resource Strings And Internationalisation",122,0,0,48,56,null]
[927,"Clinic",null,"Explorer Dialog Problem",3,0,0,48,57,null]
[928,"Clinic",null,"Home Grown SQL Monitor",3,0,0,48,57,null]
[929,"Clinic",null,"Windows Miscellany",3,0,0,48,64,null]
[930,"Article",null,"Inprise/Borland Conference",2,0,0,49,8,null]
[931,"Article","FACTORY","The Factory Pattern",123,0,0,49,12,null]
[932,"Article","ALFRESCO","Algorithms Alfresco: Knock on Wood",99,0,0,49,19,null]
[933,"Article",null,"One Last Compile...",0,0,0,49,30,null]
[934,"Article","BUILD","A Better Build Process",118,0,0,49,32,null]
[935,"Article","CONSTRUC","Under Construction: Distributed Efficiency",2,0,0,49,38,null]
[936,"Article","SYSTEM","Beating the System: When Worlds Collide",4,0,0,49,42,null]
[937,"Article",null,"Porting KillerApp",62,0,0,49,49,null]
[938,"Article",null,"ADO Support In Delphi 5",120,0,0,49,50,null]
[939,"Article","COMCORN","COM Corner: Creating Office 2000 COM Add-Ins",3,0,0,49,57,null]
[940,"Clinic",null,"Character Manipulation",3,0,0,49,64,null]
[941,"Clinic",null,"SQL Server Problem",3,0,0,49,64,null]
[942,"Clinic",null,"DCOM UI Problem",3,0,0,49,64,null]
[943,"Clinic",null,"Daylight Savings Changeover",3,0,0,49,64,null]
[944,"Clinic",null,"Terminating Programs",3,0,0,49,66,null]
[945,"Clinic",null,"Computer Name In Registry",3,0,0,49,68,null]
[946,"Clinic",null,"New Delphi 5 Features",3,0,0,49,69,null]
[947,"Article","HTML","Data-Aware HTML Controls, 1",5,0,0,50,14,null]
[948,"Article",null,"Under Construction: Delphi 5 InternetExpress",2,0,0,50,26,null]
[949,"Article",null,"Delphi Junction",112,0,0,50,32,null]
[950,"Article","LOCALISE","Localising With Delphi 5",9,0,0,50,34,null]
[951,"Article",null,"Beating the System: Delphi Code Generation Hints",4,0,0,50,40,null]
[952,"Article","IPC","Win32 Inter-Process Communication",3,0,0,50,48,null]
[953,"Article","ALFRESCO","Algorithms Alfresco: Red Alert",99,0,0,50,60,null]
[954,"Article","XML","XML: A Delphi Implementation, 2",112,0,0,50,70,null]
[955,"Article",null,"One Last Compile...",0,0,0,50,77,null]
[956,"Article","EXCEPT","Exceptional Stack Tracing",18,0,0,50,78,null]
[957,"Article","COMCORN","COM Corner: New COM Features In Delphi 5",10,0,0,50,92,null]
[958,"Clinic",null,"Property Editor Question",3,0,0,50,96,null]
[959,"Clinic",null,"Page Control Query",3,0,0,50,96,null]
[960,"Clinic",null,"Customised Alias",3,0,0,50,96,null]
[961,"Clinic",null,"Customised Status Bar",3,0,0,50,96,null]
[962,"Clinic",null,"COM Server Components",3,0,0,50,96,null]
[963,"Clinic",null,"Fancy Font Dialog",3,0,0,50,98,null]
[964,"Clinic",null,"Multi-User Delphi Installation",3,0,0,50,99,null]
[965,"Clinic",null,"Components On The Clipboard",3,0,0,50,99,null]
[966,"Clinic",null,"Custom TLabel Component",3,0,0,50,101,null]
[967,"Clinic",null,"User-Defined Exceptions",3,0,0,50,102,null]
[968,"Clinic",null,"More On Active OLE Object",3,0,0,50,102,null]
[969,"Clinic",null,"Delphi 5 Easter Eggs",3,0,0,50,104,null]
[970,"Article","SAFECALL","Safecall Defined",3,0,0,51,8,null]
[971,"Article","SYSTEM","Beating The System: Taming the File System, 1",4,0,0,51,19,null]
[972,"Article",null,"One Last Compile...",0,0,0,51,25,null]
[973,"Article","REMOTE","Remote Monitoring",22,0,0,51,26,null]
[974,"Article","CONSTRUC","Under Construction: Delphi 5 InternetExpress, 2",2,0,0,51,28,null]
[975,"Article",null,"Delphi Junction: Solution",112,0,0,51,34,null]
[976,"Article","ALFRESCO","Algorithms Alfresco: Re-Make, Re-Model",99,0,0,51,36,null]
[977,"Article","OBSERVER","The Observer Pattern",123,0,0,51,44,null]
[978,"Article","COMCORN","COM Corner: Efficient Variants",10,0,0,51,51,null]
[979,"Clinic",null,"File I/O Error",3,0,0,51,56,null]
[980,"Clinic",null,"Type Library Corner Cutting",3,0,0,51,58,null]
[981,"Clinic",null,"Customised Docking",3,0,0,51,59,null]
[982,"Clinic",null,"CreateProcess Alert",3,0,0,51,62,null]
[983,"Article","HTML","Data-Aware HTML Controls, 2",5,0,0,52,8,null]
[984,"Article",null,"Under Construction: Delphi 5 InternetExpress, 3",2,0,0,52,18,null]
[985,"Article","RICHEDIT","TRichEdits And Embedded Objects",3,0,0,52,24,null]
[986,"Article","SYSTEM","Beating the System: Taming The File System, 2",4,0,0,52,28,null]
[987,"Article","ADO","ADO Transaction Processing",120,0,0,52,36,null]
[988,"Article","ALFRESCO","Algorithms Alfresco: Hark the Herald Angels Sing",99,0,0,52,42,null]
[989,"Article","REGVALET","Serving Up The Registry",112,0,0,52,52,null]
[990,"Article",null,"One Last Compile...",0,0,0,52,60,null]
[991,"Article",null,"COM Corner: An Introduction to COM+",10,0,0,52,61,null]
[992,"Clinic",null,"TWebBrowser Documentation Problem",3,0,0,52,65,null]
[993,"Clinic",null,"Local Share Requirement",3,0,0,52,66,null]
[994,"Clinic",null,"Computer Picker",3,0,0,52,66,null]
[995,"Clinic",null,"Form Painting Puzzle",3,0,0,52,67,null]
[996,"Clinic",null,"Dual Processor Woes",3,0,0,52,70,null]
[997,"Clinic",null,"What? More Easter Eggs?",3,0,0,52,72,null]
[998,"Clinic",null,"Corrections",3,0,0,52,72,null]
[999,"Article","DATAMOD","Data Modules: Friend Or Foe?",120,0,0,53,8,null]
[1000,"Article","ALFRESCO","Algorithms Alfresco: Midnight Run",99,0,0,53,16,null]
[1001,"Article","MULTICAS","A Delphi Multicaster Class",124,0,0,53,24,null]
[1002,"Article","CONSTRUC","Under Construction: Delphi 5 WebBroker Stuff",2,0,0,53,30,null]
[1003,"Article","OBSERVER","The Observer Pattern Observed",125,0,0,53,40,null]
[1004,"Article",null,"One Last Compile...",0,0,0,53,41,null]
[1005,"Article",null,"Beating the System: Windows 2000, Are You Getting Certified?",4,0,0,53,42,null]
[1006,"Article","XML","XML in Delphi, 3",112,0,0,53,50,null]
[1007,"Article","CCORN","COM Corner: CoPourri",10,0,0,53,58,null]
[1008,"Article",null,"Update: Safecall Defined",3,0,0,53,72,null]
[1009,"Clinic",null,"QuickReport And Printers",3,0,0,53,62,null]
[1010,"Clinic",null,"File Copying",3,0,0,53,62,null]
[1011,"Clinic",null,"ActiveX Warning",3,0,0,53,65,null]
[1012,"Clinic",null,"Custom Error Strings From DLL Routines",3,0,0,53,66,null]
[1013,"Clinic",null,"Update To File I/O Error",3,0,0,53,70,null]
[1014,"Article","ADOBATCH","ADO Batch Updates",120,0,0,54,8,null]
[1015,"Article","ALFRESCO","Algorithms Alfresco: Private Eyes",99,0,0,54,16,null]
[1016,"Article","CONSTRUC","Under Construction: VisiBroker for Delphi 5",2,0,0,54,26,null]
[1017,"Article","SYSTEM","Beating the System: Taming The File System, 3",4,0,0,54,32,null]
[1018,"Article",null,"One Last Compile...",0,0,0,54,40,null]
[1019,"Article","PERSIST","Patterns And Persistence",123,0,0,54,42,null]
[1020,"Article","CCORN","COM Corner: COM+ Events",10,0,0,54,53,null]
[1021,"Clinic",null,"Watching TDateTime Values",3,0,0,54,58,null]
[1022,"Clinic",null,"Executable File Differences",3,0,0,54,58,null]
[1023,"Clinic",null,"Common Control Library Version Mismatch",3,0,0,54,59,null]
[1024,"Clinic",null,"Dynamic Array Question",3,0,0,54,60,null]
[1025,"Clinic",null,"TImage.OnProgress Broken?",3,0,0,54,61,null]
[1026,"Clinic",null,"Custom Grid Drawing",3,0,0,54,62,null]
[1027,"Article","SPLAT","Splat: Sound And Graphics With Delphi",126,0,0,55,8,null]
[1028,"Article","CONSTRUC","Under Construction: Internet Security",2,0,0,55,18,null]
[1029,"Article","SYSTEM","Beating the System: Wrapping The RAS Services API",4,0,0,55,26,null]
[1030,"Article","CONTAIN","Contain Yourself!",112,0,0,55,35,null]
[1031,"Article",null,"One Last Compile...",0,0,0,55,42,null]
[1032,"Article","ALFRESCO","Algorithms Alfresco: Happiness Is An Option",99,0,0,55,44,null]
[1033,"Article","PERSIST","Persistent Fields: Friend Or Foe?",120,0,0,55,54,null]
[1034,"Article","CCORN","COM Corner: COM+ Queued Components",10,0,0,55,60,null]
[1035,"Clinic",null,"RTTI And Module Boundaries",3,0,0,55,66,null]
[1036,"Clinic",null,"Object Inspector Refuses To Make Event Handler",3,0,0,55,67,null]
[1037,"Clinic",null,"TStrings And Object Owners",3,0,0,55,68,null]
[1038,"Clinic",null,"ListView Checkbox Changes",3,0,0,55,72,null]
[1039,"Article","VFI","Visual Form Inheritance And Frames: Friend or Foe?",120,0,0,56,8,null]
[1040,"Article","SYSTEM","Beating the System: Wrapping The RAS Services API, Part 2",4,0,0,56,16,null]
[1041,"Article","SPLAT","Splat: Part 2, Going International",126,0,0,56,30,null]
[1042,"Article","ALFRESCO","Algorithms Alfresco: Hyperactive",99,0,0,56,44,null]
[1043,"Article",null,"One Last Compile...",0,0,0,56,54,null]
[1044,"Article","CONSTRUC","Under Construction: CORBA Exceptions In Delphi",2,0,0,56,56,null]
[1045,"Article","DRAGDROP","Dragging And Dropping Part 1: VCL",3,0,0,56,61,null]
[1046,"Article",null,"COM Corner: COM+ Security",10,0,0,56,68,null]
[1047,"Clinic",null,"Memos And Scroll Bars",3,0,0,56,72,null]
[1048,"Clinic",null,"MIDAS Delta Packets",3,0,0,56,73,null]
[1049,"Clinic",null,"Drawing On Status Bars",3,0,0,56,74,null]
[1050,"Clinic",null,"Accessing Application Icons",3,0,0,56,76,null]
[1051,"Clinic",null,"COM RTL Support",3,0,0,56,77,null]
[1052,"Clinic",null,"Object Assignment",3,0,0,56,78,null]
[1053,"Clinic",null,"Object Property Assignment",3,0,0,56,80,null]
[1054,"Article","DRAGDROP","Dragging And Dropping Part 2: Enhanced VCL",3,0,0,57,8,null]
[1055,"Article",null,"Correction: ADO Batch Updates",120,0,0,57,16,null]
[1056,"Article","SYSTEM","Beating the System: Alpha Blending In Windows 2000",4,0,0,57,18,null]
[1057,"Article","DATAAWAR","Life Without Data-Aware Controls",111,0,0,57,30,null]
[1058,"Article","CONSTRUC","Under Construction: Delphi 5 And MIDAS 3",2,0,0,57,42,null]
[1059,"Article",null,"Effective Delphi Class Engineering 1: Crossing The Chasm",112,0,0,57,50,null]
[1060,"Article","ALFRESCO","Algorithms Alfresco: Push The Limits",99,0,0,57,58,null]
[1061,"Article","STR2DATE","Resolve That Date!",127,0,0,57,68,null]
[1062,"Article",null,"One Last Compile...",0,0,0,57,70,null]
[1063,"Clinic",null,"Where Is My Documents?",3,0,0,57,72,null]
[1064,"Clinic",null,"Getting UNC File Names",3,0,0,57,72,null]
[1065,"Clinic",null,"Adding Tool Buttons",3,0,0,57,72,null]
[1066,"Clinic",null,"Modifying The VCL Source",3,0,0,57,74,null]
[1067,"Clinic",null,"COM Terminology Problem",3,0,0,57,74,null]
[1068,"Clinic",null,"Adding ActiveX/ ActiveForm Properties",3,0,0,57,76,null]
[1069,"Clinic",null,"Unhelpful Panel",3,0,0,57,78,null]
[1070,"Clinic",null,"Corrections",3,0,0,57,81,null]
[1071,"Article","EASYWEB","Easy Web Controls",22,0,0,58,8,null]
[1072,"Article","CONSTRUC","Under Construction: Delphi 5 Active Server Objects",2,0,0,58,16,null]
[1073,"Article","ADOX","ADOX Extensions For DDL And Security",120,0,0,58,22,null]
[1074,"Article","SYSTEM","Beating The System: Groovy Group Boxes",4,0,0,58,30,null]
[1075,"Article",null,"One Last Compile...",0,0,0,58,39,null]
[1076,"Article","DRAGDROP","Dragging And Dropping Part 3: Windows",3,0,0,58,40,null]
[1077,"Article","ALFRESCO","Algorithms Alfresco: Strictly Confidential",99,0,0,58,52,null]
[1078,"Article",null,"COM Corner: More Callbacks",10,0,0,58,61,null]
[1079,"Clinic",null,"Strings And Streams",3,0,0,58,64,null]
[1080,"Clinic",null,"Optimised Working Set",3,0,0,58,64,null]
[1081,"Clinic",null,"Copying Selected Text Between TRichEdit Controls",3,0,0,58,66,null]
[1082,"Clinic",null,"Rich Text To Microsoft Word",3,0,0,58,68,null]
[1083,"Clinic",null,"API problem",3,0,0,58,69,null]
[1084,"Clinic",null,"ActiveForm Destruction",3,0,0,58,70,null]
[1085,"Article",null,"Effective Delphi Class Engineering 2: Welcome To The Machine",112,0,0,59,8,null]
[1086,"Article","CONSTRUC","Under Construction: Delphi 5 Active Server Objects, 2",2,0,0,59,16,null]
[1087,"Article","ARCH","Application Architecture",124,0,0,59,24,null]
[1088,"Article",null,"One Last Compile...",0,0,0,59,33,null]
[1089,"Article","ALFRESCO","Algorithms Alfresco: Arrrgh Essay",99,0,0,59,34,null]
[1090,"Article","RICHEDIT","Enhanced TRichEdit Controls",3,0,0,59,44,null]
[1091,"Article","SYSTEM","Beating The System: TAR-geting Linux",4,0,0,59,50,null]
[1092,"Article","IBSEC","IBSec: Securing InterBase Network Traffic On The Fly",128,0,0,59,57,null]
[1093,"Clinic",null,"InterBase Express Problem",3,0,0,59,64,null]
[1094,"Clinic",null,"Strings To Numbers",3,0,0,59,65,null]
[1095,"Clinic",null,"Typed Constants",3,0,0,59,65,null]
[1096,"Clinic",null,"Editing ListView Items",3,0,0,59,66,null]
[1097,"Clinic",null,"Date Comments",3,0,0,59,68,null]
[1098,"Clinic",null,"Persistent Runtime Column Data",3,0,0,59,69,null]
[1099,"Clinic",null,"Delphi Grammar Problem",3,0,0,59,70,null]
[1100,"Clinic",null,"Memos And BLOb Fields",3,0,0,59,72,null]
[1101,"Article","COMTHRD","Multi-Threading And COM",3,0,0,60,8,null]
[1102,"Article","ALFRESCO","Algorithms Alfresco: Dear Sir Or Madam",99,0,0,60,22,null]
[1103,"Article","CLASSENG","Effective Delphi Class Engineering 3: Skyrocketing Property",112,0,0,60,31,null]
[1104,"Article",null,"One Last Compile...",0,0,0,60,36,null]
[1105,"Article","SYSTEM","Beating The System: Easy Internet, 1",4,0,0,60,38,null]
[1106,"Article","CONSTRUC","Under Construction: Pooling And Brokering",2,0,0,60,46,null]
[1107,"Article","FOCUS","Focus Made Easy",129,0,0,60,52,null]
[1108,"Clinic",null,"Unexpected COM Error",3,0,0,60,59,null]
[1109,"Clinic",null,"Delphi And Email",3,0,0,60,60,null]
[1110,"Clinic",null,"Component Construction",3,0,0,60,62,null]
[1111,"Clinic",null,"Code Completion",3,0,0,60,64,null]
[1112,"Article","STREAM","Streaming Delphi Components",130,0,0,61,8,null]
[1113,"Article",null,"Borland Conference 2000",2,0,0,61,14,null]
[1114,"Article","CONSTRUC","Under Construction: Delphi And Strings",2,0,0,61,17,null]
[1115,"Article","ACTIONS","Actions And Action Lists",3,0,0,61,24,null]
[1116,"Article","SYSTEM","Beating The System: Easy Internet, 2",4,0,0,61,38,null]
[1117,"Article","ALFRESCO","Algorithms Alfresco: Caching In On Algorithms",99,0,0,61,46,null]
[1118,"Article","BHO","Creating Browser Help Objects",116,0,0,61,52,null]
[1119,"Article","CONTRACT","Design By Contract",131,0,0,61,56,null]
[1120,"Article",null,"One Last Compile",0,0,0,61,64,null]
[1121,"Clinic",null,"Component Hints On Status Bars",3,0,0,61,66,null]
[1122,"Clinic",null,"Tracking Actions",3,0,0,61,68,null]
[1123,"Clinic",null,"Unwanted Edit Windows",3,0,0,61,69,null]
[1124,"Article","WSTRINGS","WideString Properties",126,0,0,62,8,null]
[1125,"Article","CONSTRUC","Under Construction: Local ClientDataSets",2,0,0,62,16,null]
[1126,"Article","CLASSENG","Effective Delphi Class Engineering Part 4: The TObject Of My",112,0,0,62,22,null]
[1127,"Article","ADSI","Searching In ADSI",132,0,0,62,30,null]
[1128,"Article","ALFRESCO","Algorithms Alfresco: Careless Memories",99,0,0,62,36,null]
[1129,"Article",null,"One Last Compile",0,0,0,62,44,null]
[1130,"Article","SYSTEM","Beating The System: Delphi Hails A CAB",4,0,0,62,45,null]
[1131,"Article","OUTLOOK","Webifying Outlook",128,0,0,62,51,null]
[1132,"Clinic",null,"Linking Data Files",3,0,0,62,57,null]
[1133,"Clinic",null,"CPU Window Bafflement",3,0,0,62,58,null]
[1134,"Clinic",null,"Array Distinction",3,0,0,62,59,null]
[1135,"Clinic",null,"Corrupt Component Palette",3,0,0,62,62,null]
[1136,"Article","DOCKING","Drag And Dock",3,0,0,63,8,null]
[1137,"Article","CONSTRUC","Under Construction: More Local ClientDataSets",2,0,0,63,20,null]
[1138,"Article","DEBUG","BorDebug: Return Of The Giant",18,0,0,63,26,null]
[1139,"Article",null,"Effective Delphi Class Engineering Part 5: You Are TEgg Man...",112,0,0,63,42,null]
[1140,"Article",null,"One Last Compile",0,0,0,63,49,null]
[1141,"Article","SYSTEM","Beating The System: A Smorgasbord Of GDI Wonders",4,0,0,63,50,null]
[1142,"Article",null,"Delphi Junction: The Sequel",112,0,0,63,56,null]
[1143,"Article","ALFRESCO","Algorithms Alfresco: Come Together",99,0,0,63,58,null]
[1144,"Clinic",null,"InterBase Generators",3,0,0,63,64,null]
[1145,"Clinic",null,"VCL Debugging Query",3,0,0,63,65,null]
[1146,"Clinic",null,"BDE Paradox User Limit",3,0,0,63,65,null]
[1147,"Clinic",null,"Strange Form Behaviour",3,0,0,63,65,null]
[1148,"Clinic",null,"Task Manager Figure",3,0,0,63,66,null]
[1149,"Clinic",null,"Property Editor Question",3,0,0,63,67,null]
[1150,"Clinic",null,"Scrolling System Tray Text",3,0,0,63,70,null]
[1151,"Article","IBASE","Using InterBase From Delphi",133,0,0,64,8,null]
[1152,"Article","ALFRESCO","Algorithms Alfresco: The Holly And The Ivy",99,0,0,64,18,null]
[1153,"Article","WBROKER","Getting Clever With WebBroker... Without The Web",22,0,0,64,28,null]
[1154,"Article","SYSTEM","Beating The System: IDE Secrets, Part 1",4,0,0,64,32,null]
[1155,"Article","JET","The Hidden Power Of Jet",120,0,0,64,40,null]
[1156,"Article","CONSTRUC","Under Construction: Wireless Application Protocol",2,0,0,64,44,null]
[1157,"Article",null,"One Last Compile",0,0,0,64,48,null]
[1158,"Article",null,"Solution To Delphi Junction: The Sequel",112,0,0,64,48,null]
[1159,"Article",null,"Successful Web Application Design",130,0,0,64,50,null]
[1160,"Clinic",null,"Extending Actions",3,0,0,64,56,null]
[1161,"Clinic",null,"InActiveX",3,0,0,64,57,null]
[1162,"Clinic",null,"Unit Usage",3,0,0,64,60,null]
[1163,"Clinic",null,"Paper Orientation",3,0,0,64,60,null]
[1164,"Clinic",null,"Debugger Glitch",3,0,0,64,62,null]
[1165,"Clinic",null,"IDE Anomaly",3,0,0,64,62,null]
[1166,"Clinic",null,"Debugger Failure",3,0,0,64,62,null]
[1167,"Clinic",null,"Missing Code Parameters",3,0,0,64,64,null]
[1168,"Article","POOLS","Maximizing Web Applications With Database Pools",130,0,0,65,8,null]
[1169,"Article","SYSTEM","Beating The System: Delphi Meets .NET",4,0,0,65,16,null]
[1170,"Article",null,"The Data Shape OLE DB Provider",120,0,0,65,24,null]
[1171,"Article","ALFRESCO","Algorithms Alfresco: The Man-Machine",99,0,0,65,30,null]
[1172,"Article","CLASSENG","Effective Delphi Class Engineering Part 6: To Talk Of Many Thing",112,0,0,65,42,null]
[1173,"Article","CONSTRUC","Under Construction: Wireless Application Protocol, Part 2",2,0,0,65,48,null]
[1174,"Article",null,"One Last Compile",0,0,0,65,54,null]
[1175,"Article","TIME","Time Is The Simplest Thing",118,0,0,65,55,null]
[1176,"Clinic",null,"DataSet Actions Flaw",3,0,0,65,66,null]
[1177,"Clinic",null,"VCL Keystroke Behaviour",3,0,0,65,67,null]
[1178,"Clinic",null,"Problematic Custom Edit Control",3,0,0,65,67,null]
[1179,"Clinic",null,"Drag And Drop Hot Spots",3,0,0,65,68,null]
[1180,"Clinic",null,"Records In Variants",3,0,0,65,70,null]
[1181,"Clinic",null,"Conditional Compilation",3,0,0,65,72,null]
[1182,"Article","SQLCOMP","SQL Components",134,0,0,66,8,null]
[1183,"Article","ALFRESCO","Algorithms Alfresco: Everything Put Together Falls Apart",99,0,0,66,16,null]
[1184,"Article","SHELL","Custom Shell Verbs Using DDE",3,0,0,66,28,null]
[1185,"Article",null,"Beating The System: IDE Secrets, Part 2",4,0,0,66,36,null]
[1186,"Article",null,"One Last Compile...",0,0,0,66,41,null]
[1187,"Article","CONSTRUC","Under Construction: VisiBroker 3.3 for Delphi 5",2,0,0,66,42,null]
[1188,"Article",null,"Refactoring In The Real World",23,0,0,66,49,null]
[1189,"Article","XMLXSLT","Using XML And XSLT In Delphi",135,0,0,66,58,null]
[1190,"Clinic",null,"Printing Web Pages",3,0,0,66,66,null]
[1191,"Clinic",null,"Unit Ambiguity",3,0,0,66,67,null]
[1192,"Clinic",null,"Moved Components Lose Events",3,0,0,66,68,null]
[1193,"Clinic",null,"Unreadable Tooltips",3,0,0,66,70,null]
[1194,"Clinic",null,"Elusive Package Editors",3,0,0,66,72,null]
[1195,"Article",null,"A First Look At Kylix: Electric Penguins Are Go!",4,0,0,67,10,null]
[1196,"Article","THREADS","Threaded Inner-Process Communication",66,0,0,67,18,null]
[1197,"Article","CONSTRUC","Under Construction: VisiBroker 3.3 For Delphi 5, Part 2",2,0,0,67,34,null]
[1198,"Article","APPBARS","Appbars And Clipboard Viewers",22,0,0,67,40,null]
[1199,"Article","ALFRESCO","Algorithms Alfresco: What's The Difference",99,0,0,67,48,null]
[1200,"Article","EXPRESS","Speeding Up A Mathematical Expression Parser",18,0,0,67,58,null]
[1201,"Article",null,"One Last Compile...",0,0,0,67,66,null]
[1202,"Article","SYSTEM","Beating The System: Taming The Windows Desktop, Part 1",4,0,0,67,67,null]
[1203,"Article","NTSERV","Debugging Windows NT Service Applications",136,0,0,67,72,null]
[1204,"Review",null,"Reviewed: Plasmatech Shell Control Pack 1.5b",1,0,0,67,76,null]
[1205,"Review",null,"Reviewed: Dave Baldwin's HTML Display Components",1,0,0,67,77,null]
[1206,"Clinic",null,"Transfer Efficiency",3,0,0,67,78,null]
[1207,"Clinic",null,"Transient Stay-On-Top",3,0,0,67,78,null]
[1208,"Clinic",null,"Drag And Drop And Scrolling",3,0,0,67,79,null]
[1209,"Article","SOAP","Distributed Application Development With SOAP",135,0,0,68,10,null]
[1210,"Article","CONSTRUC","Under Construction: Data-Awareness And Interfaces",2,0,0,68,20,null]
[1211,"Article","PROPERTY","Back to Basics: A Reintroduction To Properties, Part 1",4,0,0,68,28,null]
[1212,"Article",null,"Perspectives: Microsoft Visual Studio .NET",137,0,0,68,34,null]
[1213,"Article","ALFRESCO","Algorithms Alfresco: The 51st State",99,0,0,68,38,null]
[1214,"Article",null,"One Last Compile...",0,0,0,68,49,null]
[1215,"Article","SYNC","Let's Cooperate",118,0,0,68,50,null]
[1216,"Article","SYSTEM","Beating The System: Taming The Windows Desktop, Part 2",4,0,0,68,59,null]
[1217,"Clinic",null,"Auto-Repeat Toolbuttons",3,0,0,68,65,null]
[1218,"Clinic",null,"Paradox And The Euro symbol",3,0,0,68,66,null]
[1219,"Clinic",null,"Lost Variables In The Debugger",3,0,0,68,66,null]
[1220,"Clinic",null,"Public Properties",3,0,0,68,67,null]
[1221,"Clinic",null,"Popup Data Grids",3,0,0,68,70,null]
[1222,"Article","APACHE","Apache Shared Modules",3,0,0,69,10,null]
[1223,"Article","SYSTEM","Beating The System: Taming The Windows Desktop, Part 3",4,0,0,69,18,null]
[1224,"Article","OPENGL","Simple Scene Graph Management And 3D Rendering With OpenGL",138,0,0,69,28,null]
[1225,"Article","CONSTRUC","Under Construction: DataCLX And dbExpress",2,0,0,69,36,null]
[1226,"Article",null,"Kylix: A Technical Overview",4,0,0,69,42,null]
[1227,"Article",null,"XML One Conference Report",135,0,0,69,52,null]
[1228,"Article","ALFRESCO","Algorithms Alfresco: Manage The Damage",99,0,0,69,54,null]
[1229,"Article",null,"Back to Basics: A Reintroduction To Properties, Part 2",4,0,0,69,64,null]
[1230,"Article",null,"One Last Compile...",0,0,0,69,68,null]
[1231,"Review",null,"SVCom 4.0",118,0,0,69,69,null]
[1232,"Review",null,"FlashFiler 2.0",1,0,0,69,72,null]
[1233,"Clinic",null,"Conditional Symbols",3,0,0,69,74,null]
[1234,"Clinic",null,"RTTI And Interfaces",3,0,0,69,74,null]
[1235,"Clinic",null,"Graphics Query",3,0,0,69,76,null]
[1236,"Clinic",null,"Intercepting Window Closure",3,0,0,69,76,null]
[1237,"Clinic",null,"Abbreviated Emailing",3,0,0,69,76,null]
[1238,"Clinic",null,"Custom App Launching",3,0,0,69,77,null]
[1239,"Clinic",null,"TOleContainer And In-place Editing",3,0,0,69,77,null]
[1240,"Clinic",null,"Installing Kylix",3,0,0,69,77,null]
[1241,"Clinic",null,"Kylix Configuration Files",3,0,0,69,78,null]
[1242,"Clinic",null,"Kylix And Linux Distros",3,0,0,69,78,null]
[1243,"Article","DBEX","dbExpress Tips And Tricks",120,0,0,70,10,null]
[1244,"Article","CONSTRUC","Under Construction: WebBroker For Linux",2,0,0,70,18,null]
[1245,"Article","CLXANDQT","How CLX Uses Qt",3,0,0,70,26,null]
[1246,"Article","SYSTEM","Beating The System: API-Level Programming With Kylix",4,0,0,70,40,null]
[1247,"Article",null,"Perspectives: Getting To Grips With Palm",25,0,0,70,48,null]
[1248,"Article","ALFRESCO","Algorithms Alfresco: Gilding Pale Streams",99,0,0,70,54,null]
[1249,"Article",null,"One Last Compile...",0,0,0,70,63,null]
[1250,"Review",null,"Review: CodeSite 2.0 Professional",4,0,0,70,64,null]
[1251,"Review",null,"Review: SQL Tester",63,0,0,70,70,null]
[1252,"Clinic",null,"Error Starting Kylix",3,0,0,70,72,null]
[1253,"Clinic",null,"Linux Equivalents Of Win32 APIs",3,0,0,70,72,null]
[1254,"Clinic",null,"Dynamically Choosing COM Objects",3,0,0,70,75,null]
[1255,"Clinic",null,"Type Library Editor Quirk",3,0,0,70,80,null]
[1256,"Article","STACK","Stack-Based Objects In Delphi",139,0,0,71,8,null]
[1257,"Article","ALFRESCO","Algorithms Alfresco: Distribution And Radix Sorts",99,0,0,71,16,null]
[1258,"Article","CSHARP","Delphi Meets C# Via COM",135,0,0,71,24,null]
[1259,"Article","CONSTRUC","Under Construction: Kylix Desktop Does CGI Too",2,0,0,71,36,null]
[1260,"Article",null,"One Last Compile...",0,0,0,71,48,null]
[1261,"Article","ADONET","ADO.NET Explored",120,0,0,71,50,null]
[1262,"Article",null,"Beating The System: Windows XP",4,0,0,71,55,null]
[1263,"Review","DELPHI6","What's New In Delphi 6?",3,0,0,71,60,null]
[1264,"Review",null,"Delphi 6: A Cross-Platform Development Perspective",4,0,0,71,70,null]
[1265,"Clinic",null,"Missing Debugger Windows",3,0,0,71,74,null]
[1266,"Clinic",null,"SDF Files",3,0,0,71,74,null]
[1267,"Clinic",null,"RTTI To The Rescue",3,0,0,71,75,null]
[1268,"Clinic",null,"Type Libraries And COM Parameters",3,0,0,71,75,null]
[1269,"Clinic",null,"Hiding From The Windows 95/98/Me Task Manager",3,0,0,71,76,null]
[1270,"Clinic",null,"Problems With Packages",3,0,0,71,78,null]
[1271,"Clinic",null,"Update (RTTI and Interfaces)",3,0,0,71,80,null]
[1272,"Article","TERMINAL","Preparing For A Terminal Server Environment",128,0,0,72,8,null]
[1273,"Article","CONSTRUC","Under Construction: Delphi 6 Web Services: SOAP",2,0,0,72,18,null]
[1274,"Article",null,"Hackers 101",130,0,0,72,26,null]
[1275,"Article","ALFRESCO","Algorithms Alfresco: Squeeze, Please",99,0,0,72,35,null]
[1276,"Article","DYNIMAG","Dynamic Web Images With Kylix",2,0,0,72,42,null]
[1277,"Article",null,"One Last Compile...",0,0,0,72,46,null]
[1278,"Article",null,"Beating The System: Strings Unstrung",4,0,0,72,48,null]
[1279,"Article",null,"Perspectives: Microsoft TechEd 2001",1,0,0,72,54,null]
[1280,"Review",null,"Titanium 2.0",4,0,0,72,57,null]
[1281,"Review",null,"GExperts 1.0",118,0,0,72,64,null]
[1282,"Clinic",null,"Bug With Global Variables?",3,0,0,72,66,null]
[1283,"Clinic",null,"Record Property Issues",3,0,0,72,66,null]
[1284,"Clinic",null,"Delphi ToolBar Problem",3,0,0,72,67,null]
[1285,"Clinic",null,"AVs When Destroying Components",3,0,0,72,68,null]
[1286,"Clinic",null,"Word Automation Query",3,0,0,72,68,null]
[1287,"Clinic",null,"Reading Excel Spreadsheets",3,0,0,72,70,null]
[1288,"Clinic",null,"Updates",3,0,0,72,72,null]